我正在尝试在LWJGL中使用OpenGL制作形状,但是每次执行此操作时,都会使其中的三角形凹进去。

代码:

//The Window Is 800 Wide And 600 Tall
GL11.glBegin(GL11.GL_QUADS);
GL11.glVertex2i(0, 0);
GL11.glVertex2i(800, 0);
GL11.glVertex2i(0, 600);
GL11.glVertex2i(800, 600);
GL11.glEnd();


结果:



而且,代码要大得多。我只是放置了绘制形状的代码。

最佳答案

操作顺序在OpenGL中很重要。该代码如下:

放下“铅笔”(我建议您在读纸时,用一支真正的铅笔在实际的纸上进行操作,即,按照说明进行操作,放下铅笔并进行以下动作,而不抬起它)–画一个四边形

GL11.glBegin(GL11.GL_QUADS);


第一个角左下

GL11.glVertex2i(0, 0);


第二个角落右下角

GL11.glVertex2i(800, 0);


锡迪角左上

GL11.glVertex2i(0, 600);


右上角第四个角

GL11.glVertex2i(800, 600);


用铅笔返回到第一点完成四边形。

GL11.glEnd();


OpenGL希望您以一致的缠绕方式为其提供凸几何形状,即以顺时针或逆时针方向绘制顶点。您将在它们之间切换方向,这将使您定义的形状不凸。

我强烈建议您保持逆时针缠绕:


左下方
右下
右上
左上方


这也是用铅笔绘制四边形的方式。

10-06 07:06