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();

它只会在一秒钟内显示白色屏幕,或者一个混乱的数字,然后它就会爆炸。如果我理解得好,前3条线表示视角,后3条线表示观看目的地,第三条线表示旋转轴。但是这个函数只会把一切都搞砸。

最后三个参数不是确切的旋转,而是"向上"向量。如果你不想要一个扭曲的视图,向上向量应该垂直于你的方向向量,这里是{-5,-2,-2}。在所有的垂直向量中,你选择的那个将定义你所说的旋转。

在你的例子中,最垂直的向量(你将在第一人称游戏中使用的向量)应该是{-。323, 937, -。129}归一化后。我首先通过找到"左"向量(绝对向上{0,1,0}与方向之间的叉乘)来计算它,然后作为方向与"左"之间的叉乘。

相关内容

  • 没有找到相关文章

最新更新