我知道OpenGL本身就是一个经常被问到的问题,但是我无法找到解决这个问题的方法。我一直在关注NeHe的教程,我遇到了一些我认为不应该发生的问题:
示例:
glRotatef(0, 0.0f, 1.0f, 0.0f); // despite the constant numbers, the object rotates infinitely
我正在使用NSTimer循环绘制方法,我认为这可能是问题的一部分。
我看到来自Apple和其他地方的示例代码与我没有遇到同样的问题,但我无法弄清楚究竟我做错了什么给了我这些问题。
答案 0 :(得分:1)
你在那里的代码glRotatef(0,0.0f,1.0f,0.0f);
根本不会改变旋转,它只是要求围绕Y轴旋转0度。如果您希望对象随着时间的推移顺利旋转,我建议如下:
保持计数器在每次定时器触发时递增,然后,在绘制正在显示的任何对象之前,使用glLoadIdentity()
重置转换矩阵,然后调用glRotatef( counter , 0.0f, 1.0f , 0.0f )