0

我正在开发一个渲染基本框的程序,但是通过谷歌搜索,我还没有找到在屏幕上绘制一张脸(或一组脸)的解决方案。

目前我发现的每个教程都像这样使用 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 但我似乎无法找到渲染对象的“正确”方式。有我应该使用的方法吗?

4

1 回答 1

1

您需要忘记 OpenGL 为您管理矩阵的想法。您将需要使用矢量数学库自己实现这些东西。java 3D Api 在提供一组健壮的 Matrix 和 Vector 类和方法方面做得很好。很抱歉告诉您,您还有更多工作要做,但这是图形编程的发展方向。

于 2013-03-09T00:57:28.807 回答