Имея следующие display()
-Как правильно менять координату с помощью gl.glTranslatef()?
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
значения.
Как сохранить эту позицию объекта с учетом вышеизложенного gl.glPushMatrix()
и gl.glPopMatrix()
?
Почему вы отправляете почти тот же вопрос через 4 часа? – Vallentin