Opengl立方体旋转问题
我改变xrot,yrot,zrot值,想让立方体按分别按x=1,y=1,z=1轴旋转如下代码错误,无论改变xrot,yrot,zrot哪一个,令两个都受影响,不能正确按上...
我改变xrot,yrot,zrot值,想让立方体按分别按x=1,y=1,z=1轴旋转
如下代码错误,无论改变xrot,yrot,zrot哪一个,令两个都受影响,不能正确按上述轴旋转
glRotatef(xrot,1.0f,0.0f,0.0f);
glRotatef(yrot,0.0f,01.0f,0.0f);
glRotatef(zrot,0.0f,0.0f,1.0f);
然后我改成
glPushMatrix();
glRotatef(xrot,1.0f,0.0f,0.0f);
glPopMatrix();
glPushMatrix();
glRotatef(yrot,0.0f,01.0f,0.0f);
glPopMatrix();
glPushMatrix();
glRotatef(zrot,0.0f,0.0f,1.0f);
glPopMatrix();
结果无论改变xrot,yrot,zrot哪一个,立方体丝毫不动
===============================
无需指正,请直接给出正确的完整(!完整!)代码,请给全(否则追问起来又找不到人了,影响效率,)谢谢
到底怎么弄啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 展开
如下代码错误,无论改变xrot,yrot,zrot哪一个,令两个都受影响,不能正确按上述轴旋转
glRotatef(xrot,1.0f,0.0f,0.0f);
glRotatef(yrot,0.0f,01.0f,0.0f);
glRotatef(zrot,0.0f,0.0f,1.0f);
然后我改成
glPushMatrix();
glRotatef(xrot,1.0f,0.0f,0.0f);
glPopMatrix();
glPushMatrix();
glRotatef(yrot,0.0f,01.0f,0.0f);
glPopMatrix();
glPushMatrix();
glRotatef(zrot,0.0f,0.0f,1.0f);
glPopMatrix();
结果无论改变xrot,yrot,zrot哪一个,立方体丝毫不动
===============================
无需指正,请直接给出正确的完整(!完整!)代码,请给全(否则追问起来又找不到人了,影响效率,)谢谢
到底怎么弄啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 展开
3个回答
展开全部
这是当然的,你glPushMatrix() 与glPopMtrix()之间已经屏蔽了任何的东西,就是说这里面的旋转没作用,要想单独改变在某个方向的旋转我建议还是写个判断语句比较好。或者在glPushMatrix() 与glPopMtrix()之间绘制图形。即是:
glPushMatrix();
旋转;
绘制图形;
glPopMatrix();
加入我们的OpenGL群吧,里面有新手,也有老鸟与高手。
111595985
glPushMatrix();
旋转;
绘制图形;
glPopMatrix();
加入我们的OpenGL群吧,里面有新手,也有老鸟与高手。
111595985
追问
判断语句没办法保留当前旋转后的矩阵啊,总是会回到原来的样子再重新换周转
你说第二种方法试了,转的依旧很乱啊。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-06-07
展开全部
肯定是你没有进行刷新,没有刷新旋转的结果没有被绘制。
可以使用MFC的定时器,设置一个时间定时进行刷新,则新进行的旋转结果就能被绘制出来了。
你先进行测试,不行的话给我留个邮箱,我回头发给你。
可以使用MFC的定时器,设置一个时间定时进行刷新,则新进行的旋转结果就能被绘制出来了。
你先进行测试,不行的话给我留个邮箱,我回头发给你。
追问
不是刷新问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询