【Qt OpenGL教程】01:建立一個OpenGL視窗
阿新 • • 發佈:2019-02-05
glViewport()函式用來設定視口的大小。使用glMatrixMode()設定了投影矩陣,投影矩陣用來為場景增加透視,後面使用了glLoadIdentity()重置投影矩陣,這樣可以將投影矩陣恢復到初始狀態。gluPerspective()用來設定透視投影矩陣,這裡設定視角為45°,縱橫比為視窗的縱橫比,最近的位置為0.1,最遠的位置為100,這兩個值是場景中所能繪製的深度的臨界值。可以想象,離我們眼睛比較近的東西看起來比較大,而比較遠的東西看起來就比較小。最後設定並重置了模型檢視矩陣。void MyGLWidget::resizeGL(int w, int h) //重置OpenGL視窗的大小 { glViewport(0, 0, (GLint)w, (GLint)h); //重置當前的視口 glMatrixMode(GL_PROJECTION); //選擇投影矩陣 glLoadIdentity(); //重置投影矩陣 //設定視口的大小 gluPerspective(45.0, (GLfloat)w/(GLfloat)h, 0.1, 100.0); glMatrixMode(GL_MODELVIEW); //選擇模型觀察矩陣 glLoadIdentity(); //重置模型觀察矩陣 }