2012-05-14 89 views
0

畫前屏幕上的模型我想在窗口(固定位置時更改攝像機)的拐角處畫一個標誌(3D獎)我怎麼能在OpenGL

+0

大小見 http://stackoverflow.com/questions/5467218/opengl-2d-hud-over-3d 和 http://stackoverflow.com/questions/8370537/opengl-2d-hud-in-3d-application – datenwolf

回答

1

這裏是我的繪畫全屏矩形代碼(在舊的OpenGL)

glMatrixMode(GL_PROJECTION); 
glPushMatrix(); 
glLoadIdentity(); 
glMatrixMode(GL_MODELVIEW); 
glPushMatrix(); 
glLoadIdentity(); 

glBegin(GL_QUADS); 
glTexCoord2f(0,0); 
glVertex3d(-1.0,-1.0, 0); 
glTexCoord2f(1,0); 
glVertex3d( 1.0,-1.0, 0); 
glTexCoord2f(1,1); 
glVertex3d( 1.0, 1.0, 0); 
glTexCoord2f(0,1); 
glVertex3d(-1.0, 1.0, 0); 
glEnd(); 

glMatrixMode(GL_PROJECTION); 
glPopMatrix(); 
glMatrixMode(GL_MODELVIEW); 
glPopMatrix(); 

只是關閉深度緩衝區,ABD設置紋理,以便能夠吸引您的標誌在前面eferything 當然,你可以的改變位置和它的

1

能做到這一點,像這樣:

  1. 繪製場景
  2. 禁用深度測試(或清除深度緩存,如果你需要自我深入的測試得出正確的模型)
  3. 設置而忽略攝像機位置在棧上一個新的矩陣。
  4. 繪製徽標。
+0

你能更清楚地解釋這一點:「這忽略攝像機位置在堆棧上設置一個新的矩陣。「? – user1235872

+0

@ user1235872你知道如何在屏幕上放置物體嗎?你爲什麼不展示你已經試過的東西。 – Tim

+0

我只是不明白''忽略相機位置'的意思是「。 因爲如果我移動相機的標誌模型,直到移動 – user1235872