OpenGL 简明教程(一)开篇

这篇OpenGL教程介绍了在Windows上开始学习的步骤,包括准备Visual Studio、CMake工具,以及编译和配置GLFW和GLEW库。通过设置库函数目录和附加依赖,建立OpenGL开发环境,最后展示如何创建第一个显示黑色窗口的项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 开始

这是我在学习 OpenGL 时的记录,所以文章以简单叙述为主。1
计算机创建和显示图像时,一般由计算机显卡渲染完成,而显卡中就记录了一些渲染图形的 API,其中 OpenGLDirectX 最为常用,这系列文章讲的就是如何使用 openGL 在计算机上绘图并显示在屏幕上。由于 OpenGL 的 API 是显卡提供的,所以请保证显卡较新,最好使用更新的显卡驱动。

1.2 开发环境

1.2.1 准备

Windows 操作系统(这是我使用的,其他操作系统差异不大,具体情况变通一下即可)
Microsoft Visual Studio(版本最好高于2012,我使用的是 vs2017,推荐使用 vs2015 或 vs2017,在安装程序里选中 linux 的 C++ 库会减少一些麻烦)
CMake 工程文件生成工具
下载链接:http://www.cmake.org/cmake/resources/software.html/
c++ 库:(下载时最好下源码32位版本,源码后面需要用 CMake+VS 编译好后使用)
GLFW 库 用于 OpenGL 创建窗口和处理输入
下载链接:http://www.glfw.org/download.html/
GLEW 库 能够简化 OpenGL 库函数调用的库
下载链接:http://glew.sourceforge.net/index.html/
ps:下载链接失效/速度慢,可以从我的 csdn 资源里下载。(我的 FLEW 库是编译好的文件)

1.2.2 编译构建库

将 GLFW 和 GLEW 的压缩包解压到各自的文件夹;
在各自的目录下创建额外的目录 /build (在该目录下存放编译后的文件,也可以自行指定位置);
安装并打开 CMake,指定好 GLFW 的存放目录、编译后文件的存放目录(前面创建的 /build 目录);
CMake01
点击配置(configure)按钮,设置好你安装的编译器版本,其他选项默认,没有出错的话就点击生成(generate)按钮,完成编译;
这时构建目录就会生成一些文件,其中包含一个 GLFW.sln(VS 解决方案文件),用 VS 打开这个文件,点击构建/生成,GLFW 库就构建好了;
如果你的 GLEW 文件是源码,则需要进行上述的同样步骤。(如果你下载的是我的文件,就无视吧)

1.2.3 项目配置

打开 Visual Studio 新建一个项目,右键点击项目->属性,在属性窗口中编辑库函数的目录:
VS配置01
打开 vc++目录选项卡,编辑包含目录(include),添加 2个新行,选中 GLFW 的 include 目录和 GLEW 的 include 目录;
VS配置02
编辑库目录(lib),添加 2个新行,选中 GLFW 的构建(/build)目录中的 src/Debug 目录和 GLEW 的 lib/Release/Win32 目录,也就是存放 glfw3.lib 和 glew32s.lib 的地址;
切换到链接器->输入选项卡,编辑附加加载项,添加新行,写入 glfw3.libglew32s.lib
VS配置03
VS配置04
至此项目的环境配置完成了,下面就能在代码中调用使用 OpenGL 的库函数进行绘图了,只要在代码段前将头文件包含即可:

// GLEW
#define GLEW_STATIC
#include <GL/glew.h>
// GLFW
#include <GLFW/glfw3.h>

1.3 第一个项目

1.3.1 头文件

包含 GLFW 和 GLEW 库,包含了另一些库来解决找不到库函数的问题,代码如下:

NEHE的OPENGL教程 第42课 多视窗口… NEHE的OPENGL教程 第42课 多视窗口… NeHe的OPENGL中文教程:第41课 体… NeHe的OPENGL中文教程:第40课 绳… NeHe的OPENGL中文教程:第39课 物… NeHe的OPENGL中文教程:第39课 物… NeHe的OPENGL中文教程:第38课 从… NeHe的OPENGL中文教程:第37课 卡… 愚人节十大IT假新闻:Opera浏览器… NeHe的OPENGL中文教程:第36课 放… NeHe的OPENGL中文教程:第35课 AVI… NeHe的OPENGL中文教程:第35课 AVI… NeHe的OPENGL中文教程:第34课 从… NeHe的OPENGL中文教程:第33课 加… NeHe的OPENGL中文教程:第32课 Alp… NeHe的OPENGL中文教程:第32课 Alp… NeHe的OPENGL中文教程:第32课 Alp… NeHe的OPENGL中文教程:第31课 模… NEHE的OPENGL中文教程:第30课 碰… NEHE的OPENGL中文教程:第30课 碰… NeHe的OPENGL中文教程:第29课 Bli… NeHe的OPENGL中文教程:第28课 贝… NeHe的OPENGL中文教程:第27课 影… NeHe的OPENGL中文教程:第26课剪裁… NeHe的OPENGL中文教程:第25课 变… NeHe的OPENGL中文教程:第24课 TAG… NeHe的OPENGL中文教程:第23课 球… NeHe的OPENGL中文教程:第22课 凸… NeHe的OPENGL中文教程:第22课 凸… NeHe的OPENGL中文教程:第21课 反… NeHe的OPENGL中文教程:第21课 反… NeHe的OPENGL中文教程:第20课 蒙… NeHe的OPENGL中文教程:第19课 粒… NeHe的OPENGL中文教程:第18课 二… NeHe的OPENGL中文教程:第17课 2D… NeHe的OPENGL中文教程:第16课 雾 NeHe的OPENGL中文教程:第15课 图… NeHe的OPENGL中文教程:第14课 图… NeHe的OPENGL中文教程:第13课 位… NeHe的OPENGL中文教程:第12课 显… NeHe的OPENGL中文教程:第11课 飘… NeHe的OPENGL中文教程:第十课 漫… NeHe的OPENGL中文教程:第九课 漂… NeHe的OPENGL中文教程:第八课 Alp… NeHe的OPENGL中文教程:第七课 纹… NeHe的OPENGL中文教程:第七课 纹… NeHe的OPENGL中文教程:第六课 纹… NeHe的OPENGL中文教程:第五课 向3… NeHe的OPENGL中文教程:第四课 旋… NeHe的OPENGL中文教程:第三课 着… NeHe的OPENGL中文教程:第二课 多… NeHe的OPENGL中文教程:第课 新… NeHe的OPENGL中文教程:第课 新… DirectX与OpenGL方面的经典电子书… VC++ 6.0下OpengGL配置以及glut配… 怎样开始学习OpenGL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值