我正在研究计算机图形学课程的交互式场景。我已经设置了一个生成彩色立方体的程序,让我用键盘旋转它们。然而,他们被相机的近夹片平面切开:
我尝试过使用gluPerspective,但OpenGL文档并没有给出任何使用它的例子。我发现它在网上的示例程序中使用,并且半复制了他们的代码:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective( 65, 1, 0.01, 100 );
glMatrixMode(GL_MODELVIEW);
有什么想法吗?
更新: 正如下面的评论中所建议的,我尝试使用glFrustum代替,使用以下代码:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum( -0.5, 0.5, -0.5, 0.5, 0.1, 100 );
glMatrixMode(GL_MODELVIEW);
再次,没有区别。我没有正确地推动生成的矩阵或什么?
答案 0 :(得分:2)
也许您需要将物体移动远离相机。现在似乎它们比0.0更接近。
考虑到你的更新“我将立方体移动了一整个远离相机的单位,现在当它们旋转时,它们会被近距离和远距离剪裁平面剪切”你的立方体可能对于剪裁深度来说太大了(100 - 0.1)。将立方体移离相机50,并将剪裁平面设置为0.1 .. 1000以确保一切都适合。
如果问题仍然存在,我们可能需要查看您的矩阵代码。