openGL怪异的bug?
|
我有以下代码:
glNormal3f(0, 0, 1);
glColor3f(1, 0, 0);
glBegin(GL_POINTS);
glVertex3f(-45, 75, -5);
glVertex3f(-45, 90, -5);
glVertex3f(-30, 90, -5);
glVertex3f(-30, 80, -5);
glVertex3f(-35, 80, -5);
glVertex3f(-35, 75, -5);
glVertex3f(-45, 75, -5);
glEnd();
glColor3f(1, 1, 0);
glBegin(GL_POLYGON);
glVertex3f(-45, 75, -5);
glVertex3f(-45, 90, -5);
glVertex3f(-30, 90, -5);
glVertex3f(-30, 80, -5);
glVertex3f(-35, 80, -5);
glVertex3f(-35, 75, -5);
glVertex3f(-45, 75, -5);
glEnd();
请注意,每个实例中glBegin和glEnd之间的代码是相同的。
但是GL_POLYGON(黄色)的顶点与GL_POINTS(红色)不匹配。
这是屏幕截图:
我使用openGL越多,我就越讨厌它。但是我想这可能是我做错了...怎么了?
没有找到相关结果
已邀请:
3 个回复
缮淳彼誊
仅适用于凸多边形。 尝试改用
,然后从左下角开始:您的多边形是星形的,因此,如果从其核中的某个点(顶点中的左下角是顶点)开始,则可以用一个
进行绘制。仅满足此条件的一个)。 如果您期望更复杂的多边形,则需要将其分解为凸位(最好是三角形)以进行渲染。
功飘
漂截嘘