2012-06-25 83 views
-3

我製作了一個3D場景,並且我使用glOrtho和gluOrtho2D在我的3D場景中移動相機以環視四周時,將東西留在屏幕上。但是當我開始環顧角色消失。 如何讓角色留在屏幕上?glOrtho在3D場景中不起作用

+2

你可以發佈你的代碼的簡短示例嗎?有很多地方可能出現問題。 – tskuzzy

+0

------------------------------------------------- ----->「沒有相機!」 OpenGL不是OpenGL | ES。 –

回答

0

投影矩陣類型定義您的鏡頭。但無論您使用什麼鏡頭,如果您轉動場景或移動相機,視圖都會改變。

如何讓角色留在屏幕上?

好吧,保持「相機」的位置。

OpenGL實際上沒有相機。它甚至沒有一個場景。它唯一看到的是點,線和三角形,它們依次繪製在屏幕上。 OpenGL有什麼是轉換矩陣。在你的情況下,你所要做的就是設置一個投影和模型視圖,它將在屏幕上的所需位置繪製字符。並且由於OpenGL不保持場景,所以您可以隨時更改轉換矩陣。

0

你可能忘了「glLoadIdentity();」某處...

您的通話glOrtho後...

glOrtho(0.0, windowWidth, 0.0, windowHeight, -10.0, 10.0); 
glMatrixMode(GL_MODELVIEW); 
glLoadIdentity(); 

希望這有助於。

-kropcke