给我c语言中的OpenGL 和 GLUT 库的代码
时间: 2024-02-15 09:05:31 浏览: 104
以下是一个简单的使用OpenGL和GLUT库的C语言代码示例,它创建了一个窗口并绘制了一个红色的三角形:
```c
#include <GL/glut.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0.0, 0.0);
glBegin(GL_TRIANGLES);
glVertex2f(-0.5, -0.5);
glVertex2f(0.5, -0.5);
glVertex2f(0.0, 0.5);
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutCreateWindow("OpenGL Window");
glClearColor(1.0, 1.0, 1.0, 1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
在这个示例中,我们首先使用glutInit函数来初始化GLUT库,然后使用glutInitDisplayMode函数指定窗口的显示模式。接着,使用glutInitWindowSize函数指定窗口的大小,并使用glutCreateWindow函数创建一个窗口。我们还使用glClearColor函数来设置窗口的背景颜色,glMatrixMode和glLoadIdentity函数来设置投影矩阵。最后,我们使用glutDisplayFunc函数来指定显示函数,使用glutMainLoop函数进入事件循环。在display函数中,我们使用glClear函数来清除颜色缓冲区,glColor3f函数来设置颜色,glBegin和glEnd函数来指定绘图模式,glVertex2f函数来指定顶点坐标,glFlush函数来强制刷新缓冲区。
阅读全文