请教两个OpenGL函数(100分或200分)

时间:2021-07-27 20:02:09
[如果回答令我满意就加满分数然后结贴]

  gluPerspective(30.0,1.0,2.0,180.0);

  glFrustum(-1,1,-1,1,2,180);
都能造成透视效果,不知道这两个函数有什么本质上的差别。

还有一点,这两个函数真是奇怪了。
它虽然得到了透视效果,但是却把我的模型在Z轴上给翻转了,
就是说本来我是朝着Z轴的正方向看我的模型。
但是用了上面两个函数之一后,
变成我朝着Z轴的负方向看我的模型了。
而且在X和Y轴的旋转方向也反了,
我命令它在X或Y轴上顺时针旋转,得到的却是逆时针旋转。
同时还需要把模型在Z轴上平移一个负的距离才看得见。

如果同时使用上面两个函数,前面所说的问题都给解决了,
可是我的模型却在Z轴上遭到不期望的裁剪。
我画了一个中心在(0,0,0)边长为1.0f的立方体,
在Z轴的方向上只能显出大约2/3个立方体,无论如何旋转,平移,调整参数,
结果不是前面被裁剪就是后面被裁剪,总之得不到完整的立方体。

真是气愤,哪里有OpenGL原理的教材阿。

1 个解决方案

#1


你看完下面的网页就明白了:
http://mays.soage.com/develop/opengl/200109/OpenGL3DProg.8.htm

#1


你看完下面的网页就明白了:
http://mays.soage.com/develop/opengl/200109/OpenGL3DProg.8.htm