0

这是我用我的程序绘制的图像:

[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 显示观看目的地,第三个 3 显示旋转轴。但是这个功能只会把一切搞砸。

感谢您的回答。

4

1 回答 1

1

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

在您的示例中,归一化后最向上的垂直向量(例如,您将在第一人称游戏中使用的向量)将是{-.323, .937, -.129}。我首先通过找到“左”向量(绝对向上 {0,1,0} 和方向之间的叉积),然后作为方向和“左”之间的叉积来计算它。

于 2014-05-10T00:25:31.243 回答