Я создаю трехмерный мир с Jogl и хочу добавить 2D Gui для телепортации камеры в выбранное положение.
Я попытался вызвать GlLoadIdentity для сброса перевода, затем я использовал Vertex2f, но ничегошоу.Когда я удаляю GLLoadIdentity, в мире всплывает Gui.Я заметил, что это потому, что минимальное расстояние должно быть больше 1. Есть ли другой способ сделать это?
Часть функции отображения:
gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
GL2 gl = drawable.getGL().getGL2();
gl.glRotatef(pitch, 0, 1, 0);
gl.glRotatef(yaw, (float)Math.cos(Math.toRadians(pitch)), 0, (float)Math.sin(Math.toRadians(pitch)));
gl.glTranslatef(x, y, z);
gl.glBegin(GL2.GL_QUADS);
gl.glColor3f(0.2f, 0.8f, 0.2f);
gl.glVertex3f(100, -10, 100);
gl.glVertex3f(100, -10, -100);
gl.glVertex3f(-100, -10, -100);
gl.glVertex3f(-100, -10, 100);
gl.glColor3f(0.0f, 0.0f, 0.0f);
gl.glVertex3f(100, -9.9f, 30);
gl.glVertex3f(100, -9.9f, -30);
gl.glVertex3f(-100, -9.9f, -30);
gl.glVertex3f(-100, -9.9f, 30);
gl.glEnd();
gl.flush();//<==This thing does nothing
gl.glLoadIdentity();//<== It make the gui invisible and the gui float
//in the world when deleted
gl.glColor3f(1f, 1f, 1f);
gl.glBegin(GL2.GL_QUADS);
gl.glVertex2f(0f, 0f);
gl.glVertex2f(0f, 1f);
gl.glVertex2f(1f, 1f);
gl.glVertex2f(1f, 0f);
gl.glEnd();
Gui невидим, но когда яудалить glLoadIdentity (), всплывающее окно в мире