编写一个 C++ 程序,该程序将绘制一个顶点位于 (300,210)、(340,215) 和 (320,250) 的三角形。三角形的中心位于 (320,240)。
#include <GL/glut.h>
#include <stdlib.h>
void display(void)
{
glClearColor(1,1,0,0);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(0.5,0,0);
glVertex2f(300.0,210.0);
glVertex2f(340.0,215.0);
glVertex2f(320.0,250.0);
glEnd();
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitWindowSize(640,500);
glutInitWindowPosition(1,1);
glutCreateWindow("Triangle");
glutDisplayFunc(display);
glutMainLoop();
return EXIT_SUCCESS;
}
问题三角形未出现,仅出现黄色屏幕。
原文由 Waleed Tariq 发布,翻译遵循 CC BY-SA 4.0 许可协议
您的程序需要适当的视图/投影矩阵。
glOrtho(0, 640, 480, 0, -1, 1)
应该可以解决问题。理想情况下,应该调用MatrixMode
设置为GL_PROJECTION
。