/** * Replaces the projection matrix by the one generated by the camera. The matrix mode will be * returned it its previous value. to GL_MODELVIEW. */ public void applyPerspectiveMatrix() { int previousMatrixMode = glGetInteger(GL_MATRIX_MODE); glMatrixMode(GL_PROJECTION); glLoadIdentity(); GLU.gluPerspective(fov, aspectRatio, zNear, zFar); glMatrixMode(previousMatrixMode); }
/** * Applies an orthographic projection matrix. The matrix mode will be returned it its previous * value. GL_MODELVIEW. */ public void applyOrthographicMatrix() { int previousMatrixMode = glGetInteger(GL_MATRIX_MODE); glMatrixMode(GL_PROJECTION); glLoadIdentity(); // TODO: Add aspect ratio handling for glOrtho glOrtho(-1, 1, -1, 1, 0, 10000); glMatrixMode(previousMatrixMode); }
/** Applies the camera translations along the three axes to the model-view matrix. */ public void applyTranslations() { int previousMatrixMode = glGetInteger(GL_MATRIX_MODE); glMatrixMode(GL_MODELVIEW); glRotatef(pitch, 1, 0, 0); glRotatef(yaw, 0, 1, 0); glRotatef(roll, 0, 0, 1); glTranslatef(-x, -y, -z); glMatrixMode(previousMatrixMode); }