2016-12-14 215 views
0

我有一個512x512窗口,並生成262144(即512 * 512)2D點並使用glVertex2f顯示它們。這些點在(-2,-2)到(2,2)的範圍內均勻分佈。經過一段時間後,我生成了一組不同範圍的262144點,如(-1,-1)到(1,1)。我將glOrtho定義爲(0,512,0,512,0,512)。第二個點的矩陣佔據了窗口的一半,而第一個佔據了整個窗口。如何使第二個點的矩陣也佔用整個窗口而不更改gluLookAt或指定不同的旋轉,平移或glOrtho? (它基本上像一個縮放,但重新繪製不同的值,我需要新的值來適應整個窗口)OpenGL - 顯示點陣列

+0

通過提供您所需範圍內的座標?我不確定你期望什麼樣的魔法。 –

回答

4

如何使第二個矩陣的點也佔用整個窗口而不更改gluLookAt或指定不同旋轉,翻譯還是glOrtho?

你的確如此。您不希望將投影或模型視圖矩陣設置爲「僅一次」。您應該根據需要經常更換這些矩陣。

OpenGL是 API。不要將OpenGL視爲不是的東西(場景圖,3D模型顯示器等)。在這一天結束時,OpenGL只需繪製點,線或三角形,然後應用一些變換。改變需求轉變並有選擇地進行某些繪圖步驟不僅是可以接受的,而且是做事的方式。