2011-08-14 54 views
1

我想在OpenGL中旋转一个对象,而不用重复旋转它的轴。无论如何要解决这个问题,还是必须得到其他图书馆或其他东西?没有“动画”的对象旋转

我只是想画一些平坦的广场和旋转它们做一个简单的3围墙1楼的房间来测试光照和阴影英寸

+1

你能成为一个更具体一点,你是什么意思“旋转而不旋转它的轴“?你能粘贴一些代码吗? –

+0

因为你是新来的人,一定要告诉你自己有关接受和投票功能。 –

+1

这个问题几乎是倒退。首先,你学习如何旋转某些东西,然后你学习如何不断重复这个过程来增加“旋转”效应。 –

回答

1

虽然你的问题是有点不清楚,这听起来像你不知道glPushMatrixglPopMatrix。使用glPushMatrix您可以保存当前选定的矩阵,然后使用glPopMatrix再次恢复。但请务必在每个glPushMatrix后面跟上相应的glPopMatrix。但是你绝对不需要使用另一个库。

所以我觉得你想要做

for(i=0; i<3; ++i) 
{ 
    glPushMatrix(); 
    glRotatef(...); 
    wall(i); 
    glPopMatrix(); 
} 
1

你只需要设置对象上的转变。

例如 - 部分的the OpenGL resources pages 9.020有这个例子:

glPushMatrix(); 
glRotatef(90., 1., 0., 0.); 
gluCylinder(quad,1,1,2,36,12); 
glPopMatrix(); 

这将旋转圆柱体绕X轴旋转90度