对不同物体进行模型变换glPushMatrix不能嵌套

   意思是,假如对三个物体要进行同样的平移操作,我本来的思路是给加一次变换就行~~如下代码:

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();        

小问题,记录下来~~

原文地址:https://www.cnblogs.com/infiniti/p/2881653.html