意思是,假如对三个物体要进行同样的平移操作,我本来的思路是给加一次变换就行~~如下代码:
glPushMatrix(); glTranslatef(3200,-2500,0); glRotatef(90,1.0,0.0,0.0); glRotatef(-175,0.0,1.0,0.0); glPushMatrix(); DrawObject1(); glPopMatrix(); glPushMatrix(); DrawObject2(); glPopMatrix();
glPushMatrix();
DrawObject3();
glPopMatrix();
glPopMatrix();
结果是只有第一个物体进行了模型变换,第二个和第三个都木有。so,只能这样了:
glPushMatrix(); glTranslatef(3200,-2500,0); glRotatef(90,1.0,0.0,0.0); glRotatef(-175,0.0,1.0,0.0); DrawObject1(); glPopMatrix(); glPushMatrix(); glTranslatef(3200,-2500,0); glRotatef(90,1.0,0.0,0.0); glRotatef(-175,0.0,1.0,0.0); DrawObject2(); glPopMatrix(); glPushMatrix(); glTranslatef(3200,-2500,0); glRotatef(90,1.0,0.0,0.0); glRotatef(-175,0.0,1.0,0.0); DrawObject3(); glPopMatrix();
小问题,记录下来~~
本文介绍在OpenGL中如何正确地对多个对象应用相同的变换操作。通过示例代码对比,解释为何不能仅使用一次变换就能实现对多个对象的相同变换,并提供正确的实现方式。
3563

被折叠的 条评论
为什么被折叠?



