glPushMatrix()作用是什么

来源:互联网 发布:java培训有必要吗 编辑:程序博客网 时间:2024/04/30 22:01
Mao!: Re:void glPushMatrix()作用是什么?请高手指点
glPushMatrix()把当前的矩阵拷贝到栈中.当调用glPopMatrix时,最后压入栈的矩阵恢复为当前矩阵.


这又是什么意思?
既然人家问 glPushMatrix()的作用是什么?
那么我们就应该告诉他这个语句有什么实际意义

当你做了一些移动或旋转等变换后,使用glPushMatrix();
OpenGL 会把这个变换后的位置和角度保存起来。
然后你再随便做第二次移动或旋转变换,再用glPopMatrix();
OpenGL 就把刚刚保存的那个位置和角度恢复。

比如:
glLoadIdentity();
glTranslatef(1,0,0);//向右移动(1,0,0)
glPushMatrix();//保存当前位置
glTranslatef(0,1,0);//现在是(1,1,0)
glPopMatrix();//这样,现在又回到(1,0,0)

原创粉丝点击