图形旋转的代码如下:

float theta = 0.0f;
………………
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);

glPushMatrix();
glRotatef(theta, 0.0f, 0.0f, 1.0f);

glColor3f(1.0f, 0.0f, 0.0f);
DDALine(0,0,10,10);

glPopMatrix();

SwapBuffers(hDC);

theta += 1.0f;
Sleep (1);

theta用来记录角度,glPushMatrix()和glPopMatrix()用来保持图形不变,角度不断递增(theta += 1.0f),由此可以使图形旋转。
但是同样的代码,在不同机房的机器上面跑,图形的转速竟然是不同的!

在计算机中心的机器上面,钻石图案的旋转速度是正常的。
但是放到实验室的机器上面,钻石图案就飞速的旋转(完全看不清)。

项目使用codeblocks创建的,默认生成的是windowsAPI的代码模式。
代码没有作任何改动,敢问这是为什么?

ps:本来打算直接提问的,但是第一个提问正在被审核,就移步文章了,先挖个坑,有空回来填。


freecode
108 声望9 粉丝

凡不能毁灭你的,必将成就你


引用和评论

0 条评论