这是我用程序绘制的图像:
[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();
它只会在一秒钟内显示白色屏幕,或者一个混乱的数字,然后它就会爆炸。如果我理解得好,前3条线表示视角,后3条线表示观看目的地,第三条线表示旋转轴。但是这个函数只会把一切都搞砸。
最后三个参数不是确切的旋转,而是"向上"向量。如果你不想要一个扭曲的视图,向上向量应该垂直于你的方向向量,这里是{-5,-2,-2}。在所有的垂直向量中,你选择的那个将定义你所说的旋转。
在你的例子中,最垂直的向量(你将在第一人称游戏中使用的向量)应该是{-。323, 937, -。129}归一化后。我首先通过找到"左"向量(绝对向上{0,1,0}与方向之间的叉乘)来计算它,然后作为方向与"左"之间的叉乘。