OpenGL如何改变一个物体的旋转中心?
就好比有一个正方体,它默认是绕着正方体中心旋转的(glPushMatrix->glRotatef->glPopMatrix),我现在想让它以它的一条边为轴旋转,要怎么实现...
就好比有一个正方体,它默认是绕着正方体中心旋转的(glPushMatrix -> glRotatef -> glPopMatrix),我现在想让它以它的一条边为轴旋转,要怎么实现,具体一点,最好附上代码
展开
1个回答
展开全部
glPushMatrix();
glTranslatef(xPos, yPos, zPos); // 某一条边 的起点
for (循环angle)
{
glPushMatrix();
glRotatef(angle, 1.0f, 0.0f, 0.0f); // 对哪条边,设它 1.0f
画方块
glPopMatrix();
}
glPopMatrix();
======
必要时加:
glutIdleFunc(myIdle);
void myIdle()
{
updateScene(deltaTime);
renderScene();
glutSwapBuffers(); //如果是双Buffer
}
保证图形更新
glTranslatef(xPos, yPos, zPos); // 某一条边 的起点
for (循环angle)
{
glPushMatrix();
glRotatef(angle, 1.0f, 0.0f, 0.0f); // 对哪条边,设它 1.0f
画方块
glPopMatrix();
}
glPopMatrix();
======
必要时加:
glutIdleFunc(myIdle);
void myIdle()
{
updateScene(deltaTime);
renderScene();
glutSwapBuffers(); //如果是双Buffer
}
保证图形更新
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询