有以下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, tranZvalues 。
gl.glPushMatrix()考虑到上述情况,我怎么能保存这个对象位置gl.glPopMatrix()?