我试图绘制一个星(这是我的第一个OpenGL尝试),但是尽管我已经为它们设置了顶点,但是底部和左侧都是平坦的.我在这里错过了什么?
glBegin(GL_POLYGON);
glVertex2i(30,0);
glVertex2i(105,55);
glVertex2i(180,0);
glVertex2i(150,75);
glVertex2i(210, 90);
glVertex2i(135, 135);
glVertex2i(105, 210);
glVertex2i(75, 135);
glVertex2i(0, 90);
glVertex2i(55, 75);
glEnd();
Run Code Online (Sandbox Code Playgroud)
定义的多边形GL_POLYGON 必须是凸的.你不能用它制作星星,因为它有凸起和凹陷的部分.
绘制星形的正确方法是定义组成星形的所有三角形并将其绘制在一个列表中GL_TRIANGLES.GL_POLYGON不管怎么说,现代opengl已经弃用了,所以你最好不要太注意它.