有以下display()
-
float tranX , tranY , tranZ ;
public void display(GLAutoDrawable gLDrawable) {
final GL gl = gLDrawable.getGL();
gl.glLoadIdentity();
gl.glPushMatrix();
gl.glTranslatef(tranX ,tranY ,tranZ);
gl.glCallList(i);
gl.glPopMatrix();
tranX += 0.05;
tranY += 0.05;
tranZ += 0.05;
}
如您所见,每次display()
调用保存的对象的矩阵gl.glCallList(i)
并获取坐标更改gl.glTranslatef(tranX ,tranY ,tranZ)
。
假设在某个阶段我想将此对象保存在其当前位置(在gl.glTranslatef
调用之后)并开始将其转换为另一个tranX
, tranY
, tranZ
values 。
gl.glPushMatrix()
考虑到上述情况,我怎么能保存这个对象位置gl.glPopMatrix()
?