Не рекомендуется использовать glPushMatrix, решение GL30-GL43? Пример Basic Box

Я работаю над программой для рендеринга базового блока, но через Google я не нашел решения для рисования лица (или группы лиц) на экране.

В настоящее время каждый учебник, который я нашел, использует glPushMatrix / glBegin / glEnd / glPopMatrix, как это

GL11.glPushMatrix();

GL11.glRotatef(pit, 1, 0, 0);
GL11.glRotatef(yaw, 0, 1, 0);
GL11.glRotatef(rol, 0, 0, 1);
GL11.glTranslatef(pos.x, pos.y, pos.z);

GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex3f(-1.0f, -1.0f,  1.0f);   // Bottom Left Of The Quad
GL11.glVertex3f( 1.0f, -1.0f,  1.0f);   // Bottom Right Of The Quad
GL11.glVertex3f( 1.0f,  1.0f,  1.0f);   // Top Right Of The Quad
GL11.glVertex3f(-1.0f,  1.0f,  1.0f);   // Top Left Of The Quad
//insert similar code here for all 6 faces
GL11.glEnd();

GL11.glPopMatrix();

Я читал, что в OGL 3.0 они устарели glPushMatrix / glBegin / glEnd / glPopMatrix, но я, похоже, не могу найти «правильный» способ визуализации объекта. Есть ли метод, который мне следует использовать?


person Snowdrama    schedule 09.03.2013    source источник
comment
В настоящее время в каждом найденном мной руководстве используется glPushMatrix / glBegin / glEnd / glPopMatrix, как это Пожалуйста, обратите внимание на приглядеться.   -  person Nicol Bolas    schedule 09.03.2013
comment
Кто-то еще указал мне на Это а также This, который находится на этой странице.   -  person Snowdrama    schedule 09.03.2013
comment
Оба они находятся на этой странице. И ни один из них не использует эти удаленные функции.   -  person Nicol Bolas    schedule 09.03.2013
comment
Просто * указал мне, я только начал их читать меньше 20 минут назад.   -  person Snowdrama    schedule 09.03.2013


Ответы (1)


Вам нужно забыть об идее управления матрицами OpenGL за вас. Вам нужно будет реализовать это самостоятельно, используя векторную математическую библиотеку. Java 3D Api отлично справляется с предоставлением надежного набора классов и методов Matrix и Vector. Извините, что сообщаю вам, что вам предстоит еще поработать с вашей стороны, но это направление, в котором движется графическое программирование.

person aeskreis    schedule 09.03.2013
comment
Я так много думал, я немного знаю о матрицах, так что это не будет очень сложно, я полагаю, что это вопрос отправки моего массива вершин куда-то с вызовом некоторой функции. - person Snowdrama; 09.03.2013
comment
Да, при переходе на OpenGL 3+ с предыдущей версии есть чему поучиться. Эта книга очень помогла мне осуществить переход: amazon.com/OpenGL- 4-0-Shading-Language-Cookbook / dp / 1849514763 / - person aeskreis; 09.03.2013