在 OpenGL 中旋转一个正方形



我正在尝试画一个中间有一条线的正方形。所以本质上它是两个不同颜色的三角形组合成一个正方形。我将如何把这个正方形旋转 90 度?

void Square(float xPos, float yPos, float length){
glBegin(GL_POLYGON);
glColor3d(1,1,1);
glVertex2d(xPos + length, yPos);
glVertex2d(xPos, yPos);
glVertex2d(xPos , yPos + length);
glColor3d(0,0,0);
glVertex2d(xPos + length, yPos + length);
glEnd();
}

我尝试在这个函数中使用 glRotatef(( 将其旋转 90 度,但它每次仍然会给我相同的正方形。

你应该能够像这样旋转它:

glPushMatrix();
glRotatef(90.0f, 0, 0, 1);
glBegin(GL_POLYGON);
...
glEnd();
glPopMatrix();

最新更新