OpenGL中glpushmatrix详细教程

avatar
作者
猴君
阅读量:5

glPushMatrix函数用于将当前的矩阵压入堆栈中,保存当前矩阵的状态。这样可以在之后的操作中对矩阵进行修改,然后通过glPopMatrix函数将修改后的矩阵弹出堆栈,恢复之前保存的矩阵状态。

具体使用方法如下:

  1. 在需要保存当前矩阵状态的地方调用glPushMatrix函数:
glPushMatrix(); 
  1. 在glPushMatrix和glPopMatrix之间进行对矩阵的操作,例如平移、旋转、缩放等:
glTranslatef(1.0f, 0.0f, 0.0f); glRotatef(45.0f, 0.0f, 0.0f, 1.0f); 
  1. 在需要恢复之前保存的矩阵状态的地方调用glPopMatrix函数:
glPopMatrix(); 

这样就可以在一段代码中对当前矩阵进行修改,然后通过glPopMatrix函数将修改后的矩阵恢复为之前保存的状态。

需要注意的是,glPushMatrix和glPopMatrix函数是成对出现的,每次调用glPushMatrix都应该对应一个glPopMatrix,否则会导致堆栈溢出。另外,glPushMatrix和glPopMatrix函数只能保存和恢复当前的模型视图矩阵,不能保存和恢复投影矩阵或纹理矩阵等其他类型的矩阵。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!