我正在尝试使用 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
看出区别了吗?它围绕四边形的表面逆时针(或顺时针,取决于您的缠绕顺序)。它不是从上到下、从左到右。
关于java - 在 OpenGL 中使用 GL_QUADS 渲染时,形状的一部分丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12879207/