// 示例代码:使用 OpenGL 在 Linux 上绘制一个简单的三角形
#include <GL/glut.h>
// 定义绘制函数
void display() {
// 清除颜色缓冲区
glClear(GL_COLOR_BUFFER_BIT);
// 设置绘制颜色为白色
glColor3f(1.0, 1.0, 1.0);
// 开始绘制三角形
glBegin(GL_TRIANGLES);
glVertex2f(-0.5, -0.5); // 第一个顶点
glVertex2f(0.5, -0.5); // 第二个顶点
glVertex2f(0.0, 0.5); // 第三个顶点
glEnd();
// 刷新显示
glutSwapBuffers();
}
// 初始化 OpenGL 环境
void init() {
// 设置背景颜色为黑色
glClearColor(0.0, 0.0, 0.0, 0.0);
// 设置正投影矩阵
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-1.0, 1.0, -1.0, 1.0);
}
int main(int argc, char** argv) {
// 初始化 GLUT 库
glutInit(&argc, argv);
// 设置显示模式
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
// 设置窗口大小
glutInitWindowSize(500, 500);
// 创建窗口并设置标题
glutCreateWindow("OpenGL Triangle");
// 注册回调函数
glutDisplayFunc(display);
// 初始化 OpenGL 环境
init();
// 进入 GLUT 主循环
glutMainLoop();
return 0;
}
glClear 函数用于清除颜色缓冲区,使背景变为指定的颜色(在这里是黑色)。glColor3f 设置当前的绘制颜色为白色。glBegin 和 glEnd 之间的代码定义了要绘制的几何图形。这里我们使用 GL_TRIANGLES 来绘制一个三角形,并通过 glVertex2f 指定三角形的三个顶点。glutSwapBuffers 用于在双缓冲模式下交换前后缓冲区,确保绘制的内容能够显示在屏幕上。glMatrixMode 和 glLoadIdentity 用于设置投影矩阵,gluOrtho2D 定义了一个二维正交投影。这个程序会在一个 500x500 的窗口中绘制一个白色的三角形,背景为黑色。
上一篇:linux远程拷贝文件命令
下一篇:linux当前时间
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站