OpenGL绘制多个不同颜色三角形
时间: 2023-12-15 21:03:19 浏览: 81
以下是一个OpenGL程序,用于绘制多个不同颜色的三角形:
```c++
#include <GL/glut.h>
void init() {
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 500.0, 0.0, 500.0);
}
void display() {
glClear(GL_COLOR_BUFFER_BIT);
// 绘制第一个三角形,红色
glColor3f(1.0, 0.0, 0.0);
glBegin(GL_TRIANGLES);
glVertex2f(100.0, 100.0);
glVertex2f(200.0, 100.0);
glVertex2f(150.0, 200.0);
glEnd();
// 绘制第二个三角形,绿色
glColor3f(0.0, 1.0, 0.0);
glBegin(GL_TRIANGLES);
glVertex2f(250.0, 250.0);
glVertex2f(350.0, 250.0);
glVertex2f(300.0, 350.0);
glEnd();
// 绘制第三个三角形,蓝色
glColor3f(0.0, 0.0, 1.0);
glBegin(GL_TRIANGLES);
glVertex2f(400.0, 100.0);
glVertex2f(450.0, 200.0);
glVertex2f(500.0, 100.0);
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutCreateWindow("Multiple Triangles");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
该程序使用了OpenGL的基本绘图函数来绘制三个不同颜色的三角形。在每个三角形之前,我们使用glColor3f函数来设置绘制颜色。然后使用glBegin和glEnd函数来指定绘制的几何图形的类型(在这里是三角形)和顶点。在每个三角形中,我们指定了三个顶点的坐标。最后,我们使用glFlush函数强制将绘制的图形显示在屏幕上。
运行该程序,您将看到窗口中绘制了三个不同颜色的三角形。
阅读全文