在Mac上调整到OpenGL的困难

时间:2010-11-02 16:22:45

标签: opengl

我知道OpenGL本身就是一个经常被问到的问题,但是我无法找到解决这个问题的方法。我一直在关注NeHe的教程,我遇到了一些我认为不应该发生的问题:

  • 当调用glRotatef时,第一个参数是角度,它似乎是旋转速度。

示例:

glRotatef(0, 0.0f, 1.0f, 0.0f); // despite the constant numbers, the object rotates infinitely

我正在使用NSTimer循环绘制方法,我认为这可能是问题的一部分。

  • 物体的角度将增加到180,然后递减到0,而不是物体旋转360度,这与2D和3D物体相同。

我看到来自Apple和其他地方的示例代码与我没有遇到同样的问题,但我无法弄清楚究竟我做错了什么给了我这些问题。

1 个答案:

答案 0 :(得分:1)

你在那里的代码glRotatef(0,0.0f,1.0f,0.0f);根本不会改变旋转,它只是要求围绕Y轴旋转0度。如果您希望对象随着时间的推移顺利旋转,我建议如下: 保持计数器在每次定时器触发时递增,然后,在绘制正在显示的任何对象之前,使用glLoadIdentity()重置转换矩阵,然后调用glRotatef( counter , 0.0f, 1.0f , 0.0f )