opengl代码实例
时间: 2023-10-16 07:02:59 浏览: 66
OpenGL是一种图形编程接口,被广泛用于计算机图形学和游戏开发领域。下面是一个简单的OpenGL代码实例,用于绘制一个彩色三角形:
#include <GL/glut.h>
// 定义绘制三角形的方法
void drawTriangle() {
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // 设置清屏颜色为黑色
glClear(GL_COLOR_BUFFER_BIT); // 清屏
glBegin(GL_TRIANGLES); // 开始绘制三角形
glColor3f(1.0f, 0.0f, 0.0f); // 设置顶点颜色为红色
glVertex3f(0.0f, 0.5f, 0.0f); // 设置第一个顶点
glColor3f(0.0f, 1.0f, 0.0f); // 设置顶点颜色为绿色
glVertex3f(-0.5f, -0.5f, 0.0f); // 设置第二个顶点
glColor3f(0.0f, 0.0f, 1.0f); // 设置顶点颜色为蓝色
glVertex3f(0.5f, -0.5f, 0.0f); // 设置第三个顶点
glEnd(); // 结束绘制三角形
glFlush(); // 渲染所有待处理的OpenGL命令
}
int main(int argc, char** argv) {
glutInit(&argc, argv); // 初始化GLUT库
glutCreateWindow("OpenGL Triangle"); // 创建窗口并设置标题
glutDisplayFunc(drawTriangle); // 注册绘制回调函数
glutMainLoop(); // 进入主循环
return 0;
}
在这个例子中,我们使用了GLUT库来简化OpenGL的初始化和窗口管理。通过定义drawTriangle函数,我们实现了三角形的绘制逻辑。在drawTriangle函数内部,我们首先设置了清屏颜色为黑色,然后进行了清屏操作。接着,我们使用glBegin函数开始绘制三角形,并通过glColor3f函数设置了各个顶点的颜色。在glVertex3f函数中,我们定义了三角形的三个顶点的坐标。最后,我们使用glEnd函数结束绘制,并调用glFlush函数来渲染所有待处理的OpenGL命令。
在main函数中,我们首先调用glutInit函数来初始化GLUT库。接着,我们创建了一个窗口并设置了标题。然后,我们注册了绘制回调函数drawTriangle。最后,通过调用glutMainLoop函数进入主循环,不断处理与窗口相关的事件,直到程序结束。
总的来说,这个OpenGL代码实例展示了如何使用OpenGL和GLUT库来绘制一个简单的彩色三角形。