我正在尝试在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希望您以一致的缠绕方式为其提供凸几何形状,即以顺时针或逆时针方向绘制顶点。您将在它们之间切换方向,这将使您定义的形状不凸。
我强烈建议您保持逆时针缠绕:
左下方
右下
右上
左上方
这也是用铅笔绘制四边形的方式。