《计算机图形学》第一课笔记-----opengl开发环境搭建

前言: 目的是为了学习计算机图形学这本书,在一个2维的平面上活灵活现的显示一个3维物体是很酷的一件事,打算先从啃下这本书作为开始。

在这里插入图片描述

正文

之前是准备使用vscode搭建的,但是阅读了一些教程后感觉太繁琐了,我的核心目标是学习计算机图形学,理解3D变换的算法,所以选了用Visual Studio搭建,过程很简单,只需要安装两个包即可。

硬件环境:x86平台 win11

开发环境:Visual Studio 2022

第一步 安装visual studio,记得要选上C++平台桌面开发这选项,如果已经安装了vs,但是没有安装c++桌面平台,这个也无妨,重新下载安装器,可以选择增加模块。

在这里插入图片描述

第二步,创建C++空项目,只有安装了上图的使用c++的桌面开发才能创建C++空项目。

在这里插入图片描述

第三步,安装插件,这两个插件安装后就不用自己去安装GLFW和GLAD了。

在这里插入图片描述

第四步,创建一个cpp文件,《计算机图形学》的整本书上的代码示例都是代码片段,说白了就是一个cpp文件里既有函数体,又有main函数就搞定了,如果仅仅是为了学习,那么单文件足矣。如果您未来的工作是面向显卡编程,那么我想你们公司肯定有自己的工程化规范,so,在这个博客我们不考虑工程化问题,只要求能实现本书提供的代码片段能被我们复现即可。

在这里插入图片描述

此处敲了一段《计算机图形学》第33页的代码

// 包含GLUT头文件(自动包含GL/gl.h和GL/glu.h)
#include <GL/glut.h>

// 初始化OpenGL参数
void init(void) {
    glClearColor(1.0, 1.0, 1.0, 0.0);  // 设置背景清除颜色为白色(RGBA,A=0表示不透明)
    glMatrixMode(GL_PROJECTION);        // 切换至投影矩阵模式
    gluOrtho2D(0.0, 200.0, 0.0, 150.0); // 定义二维正交投影坐标系(左下角x=0,y=0,右上角x=200,y=150)
}

// 绘制线段的回调函数
void lineSegment(void) {
    glClear(GL_COLOR_BUFFER_BIT);       // 用预设的白色清空颜色缓冲区
    glColor3f(0.0, 0.4, 0.2);           // 设置当前绘制颜色为深绿色(RGB分量:0.0,0.4,0.2)
    
    glBegin(GL_LINES);                  // 开始绘制线段图元
        glVertex2i(180, 15);            // 线段起点坐标(x=180,y=15)
        glVertex2i(10, 145);            // 线段终点坐标(x=10,y=145)
    glEnd();                             // 结束绘制
    
    glFlush();                           // 强制刷新缓冲区,立即显示绘制结果(适用于单缓冲模式)
}

// 主函数
void main(int argc, char** argv) {
    glutInit(&argc, argv);               // 初始化GLUT库
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 设置显示模式:单缓冲 + RGB颜色模型
    glutInitWindowPosition(50, 100);     // 设置窗口左上角屏幕坐标(x=50,y=100)
    glutInitWindowSize(400, 300);         // 设置窗口尺寸(宽度400像素,高度300像素)
    glutCreateWindow("An Example OpenGL Program"); // 创建标题为指定名称的窗口
    
    init();                              // 调用自定义初始化函数
    glutDisplayFunc(lineSegment);        // 注册显示回调函数(窗口需要刷新时自动调用)
    glutMainLoop();                      // 进入GLUT事件处理循环(保持窗口持续运行)
}
}

第五步,运行项目查看结果,可以看到没问题,绘制的线条已经显示了。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

x县豆瓣酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值