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

GL_QUADS draws a concave pentagon instead of recangle

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

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

我的 window 使用此代码设置:

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();

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