GL_QUADS 绘制一个凹五边形而不是矩形

Posted

技术标签:

【中文标题】GL_QUADS 绘制一个凹五边形而不是矩形【英文标题】:GL_QUADS draws a concave pentagon instead of recangle 【发布时间】:2017-04-02 16:16:29 【问题描述】:

我正在使用此代码生成矩形

glBegin(GL_QUADS);
glColor3f(0,0,0);
glVertex2f(-0.9,-0.9);
glVertex2f(-0.9,+0.9);
glVertex2f(+0.9,-0.9);
glVertex2f(+0.9,+0.9);
glEnd();

Draws this

我的窗口是用这个代码设置的:

glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
glutInitWindowSize(600,600);
glutInitWindowPosition(0,0);
glutCreateWindow("Atari Breakout!");
glClearColor(0,1,0,1);
glOrtho(-1.0f, +1.0f, -1.0f,+1.0f,1,1);
glutDisplayFunc(display);
glutIdleFunc(display);

glutMainLoop();

【问题讨论】:

【参考方案1】:

顶点的顺序就像字母 N 一样,它翻转了中间基元周围的缠绕。您必须以一致的缠绕顺序提交顶点。

【讨论】:

以上是关于GL_QUADS 绘制一个凹五边形而不是矩形的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL 在 GL_QUADS 之上绘制 GL_LINES

绘制基本 图形之矩形与多边形

unity模型制作:绘制一个凹多边形

unity模型制作:绘制一个凹多边形

unity模型制作:绘制一个凹多边形

OSG绘制空间凹多边形并计算其面积