我剛開始閱讀藍皮書的初始章節,並理解投影矩陣可用於修改我們所需座標系到真實座標系的映射。它可以用於重置的座標系和由以下(作爲一個例子)
在OpenGL中設置繪圖的座標系
glMatrixMode(GL_PROJECTION);
glLoadIdentity(); //With 1's in the diagonal of the identity matrix, the coordinate system is rest from -1 to 1 (and the drawing should happen then inside those coordinates which be mapped later to the screen)
又如它從-1更改爲1上左,右,頂和底:(寬度:1024,身高:768,屏幕比例:1.33),並改變座標系統,做到:
glOrtho (-100.0 * aspectRatio, 100.0 * aspectRatio, -100.0, 100.0, 100.0, 1000.0);
我預期的座標系對OpenGL更改爲-133在左邊,133在右邊,-100在底部和100頂上。使用這些座標,我知道繪圖將在這些座標內完成,而這些座標之外的任何內容都將被裁剪。
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-100 * aspectRatio, 100 * aspectRatio, -100, 100, 100, 1000);
glMatrixMode(GL_MODELVIEW);
glRectf(-50.0, 50.0, 200, 100);
但是,上述命令在屏幕上沒有給出任何輸出。我在這裏錯過了什麼?
您不應該使用棄用的API!在當前的API中,座標系統的設置有很大的不同(你必須自己完成),學習已棄用的API是浪費時間的恕我直言。 – 2013-05-12 11:41:08
@FelixK。 :你能指出最新的正確方法嗎?我甚至不確定它是什麼。 – user1240679 2013-05-12 11:47:25
也許你沒有設置顏色。我建議爲OpenGL 3或更高版本做一些教程,以獲得一些東西。 – 2013-05-12 11:53:59