我正在尝试使用GL_QUADS渲染一个正方形,但是每次渲染时都有一个三角形缺失的形式
这是我的代码:
gl.glPushMatrix();
gl.glBegin(GL.GL_QUADS);
gl.glVertex3d(pts2d.get(0).x, extra[0],pts2d.get(0).y);
gl.glVertex3d(pts2d.get(1).x,extra[0],pts2d.get(1).y);
gl.glVertex3d(pts2d.get(0).x, portalHeight,pts2d.get(0).y);
gl.glVertex3d(pts2d.get(1).x,portalHeight,pts2d.get(1).y);
gl.glEnd();
gl.glPopMatrix();
我正在使用JOGL,这些点是创建正方形的正确点,我只是不知道为什么要切出一个三角形。
最佳答案
请注意,OpenGL的四边形排序与等效的三角形条纹不同。这就是我的意思。
按以下顺序指定构成一个三角形的四个三角形的四个顶点:
0 2
1 3
按以下顺序指定四边形:
0 3
1 2
看到不同?围绕四边形的面沿逆时针方向(或顺时针方向,取决于您的缠绕顺序)。它不是从上到下,从左到右的。