OpenGL编程指南:第3章:查看转换:从侧面查看对象

时间:2011-11-29 01:07:35

标签: opengl transformation cube viewing

在OpenGL编程指南文本的第3章“查看转换”一节中,作者提供了以下代码,从默认摄像机位置开始,从侧面查看对象。

 glTranslatef(0.0,0.0,-5.0); 
 glRotatef(90.0,0.0,1.0,0.0); 

当我用拉伸的立方体尝试这个时,立方体被错误地绘制(我通过绘制坐标轴来检查它 - 不包括绘制轴的代码)。但是,将旋转调用更改为glRotatef(-90,0.0,1.0,0.0)会更正确。知道为什么会这样吗?

编辑:我明白了。原始示例绘制一个立方体,在OpenGL y方向上拉伸2倍。'glTranslate使对象沿z轴距离相机5个单位。图片在这里:http://i.stack.imgur.com/aHRIX.png

最后,glRotate将立方体沿逆时针方向旋转90度,以便我们看到z轴(蓝色),x轴现在朝向后方,沿着光轴相机。图片在这里:http://i.stack.imgur.com/O74gT.png

1 个答案:

答案 0 :(得分:0)

围绕Y轴旋转90度或-90度基本上做同样的事情(唯一的区别是旋转方向,分别是顺时针或逆时针)。

虽然变换是相似的(并且在简单立方体的情况下结果也应该相似),但是图元的渲染顺序可以是完全不同的。您是否启用了OpenGL的深度测试工具?