這是我和我的程序繪製圖像:OpenGL。 gluLookAt功能不工作
[IMG] http://i62.tinypic.com/j163j8.png [/ IMG]
它應該是3D。當我試着使用gluLookAt來檢查它:
GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
GL.glLoadIdentity();
GL.glMatrixMode(GL.GL_MODELVIEW);
glu.gluLookAt(
5.0, 2.0, 2.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0);
figura(drawable); //Drawing figure
GL.glFlush();
只顯示白色畫面,或爲第二一個亂七八糟的人物,然後熄滅。如果我看到前三個coords顯示角度不錯,第二個3顯示查看目的地,第三個顯示旋轉軸。但是這個函數只會把所有東西都弄亂。
感謝您的回答。
第三個3是「up」向量,請嘗試'glu.gluLookAt(5.0,2.0,2.0,0.0,0.0,0.0,0.0,1.0,0.0);' –
@AnthonyVallée-Dubois這將是一個有效的向上向量如果眼睛在與目標相同的XZ平面上,即。 {5,0,2}而不是{5,2,2}。 – schmop
@schmop也許我錯了,因爲它已經有一段時間了,但是我的理解是,向上矢量是通過'gluLookAt()'重新計算的,以便垂直於方向矢量,例如'side = cross(dir,up); up = cross(side,dir);'。請參閱:http://www.opengl.org/wiki/GluLookAt_code –