这是我用我的程序绘制的图像:
[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显示旋转轴。但是这个功能只能搞砸一切。
感谢您的回答。
答案 0 :(得分:1)
最后三个参数不完全是旋转,而是“向上”矢量。如果你不想要一个扭曲的视图,向上矢量应该垂直于你的方向向量,这里是{-5,-2,-2}。在所有垂直向量中,您选择的向量将在您调用它时定义旋转。
在您的示例中,最正确的向上垂直向量(例如,您将在第一人称游戏中使用的向量)在标准化后将为 { - 。323,.937,-.129} 。我首先通过找到“左”向量(绝对向上{0,1,0}和方向之间的交叉乘积)计算它,然后作为方向和“左”之间的叉积。