给我写个openGL的三角形实现
时间: 2024-04-13 14:29:27 浏览: 43
当然可以!以下是一个使用OpenGL绘制一个简单三角形的示例代码:
```cpp
#include <GL/glut.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(1.0f, 0.0f, 0.0f); // 设置顶点颜色为红色
glVertex2f(0.0f, 1.0f); // 设置第一个顶点坐标
glColor3f(0.0f, 1.0f, 0.0f); // 设置顶点颜色为绿色
glVertex2f(-1.0f, -1.0f); // 设置第二个顶点坐标
glColor3f(0.0f, 0.0f, 1.0f); // 设置顶点颜色为蓝色
glVertex2f(1.0f, -1.0f); // 设置第三个顶点坐标
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutCreateWindow("OpenGL Triangle");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
这段代码使用OpenGL绘制了一个等边三角形,顶点分别为`(0, 1)`, `(-1, -1)`, `(1, -1)`,颜色分别为红色、绿色和蓝色。在`main`函数中,我们初始化了OpenGL窗口,设置绘制模式并指定窗口大小,然后创建了一个窗口,并将`display`函数指定为绘制回调函数。最后,通过调用`glutMainLoop()`进入主循环,等待事件的触发。
希望这个简单的示例可以帮助你开始使用OpenGL绘制三角形!如有任何问题,请随时提问。