OpenGL跨平台开发环境很多种,自动化构建的话首选 CMake,编辑器方面可选的比较多,个人非常喜欢 Jetbrains 的 CLion,代码提示和自动补全功能非常强大,目前没有提供社区版本,需要购买激活,另一个比较推荐的就是微软的 VSCode,它的插件非常丰富,非常轻量,并且免费开源,下面介绍一下基于 VSCode和CMake 搭建 OpenGL的开发环境,我这里的的操作系统为 OSX。
准备工作
搭建环境需要的软件包括:
OpenGL项目需要的第三方库:
- GLFW 用于定义窗口、上下文以及处理用户输入等等;
- GLAD 提供了跨平台的访问 OpenGL 接口,因为 OpenGL 只是提供了标准,具体的实现是由各个显卡的驱动去做,由于驱动版本众多,很多函数在编译期没有办法确定,只能通过
LoadLibrary的方式在运行时查找,每个函数都这么干非常麻烦,glad就是用来完成这部分工作的。
搭建环境
下面假设已经把VSCode和CMake安装好了,直接介绍如果设置项目,以及如何编译、配置类库。
编译 glfw
编译需要工具:
- CMake;
- Unix 系统使用 Make,Windows 使用 Visual Studio 或者 MinGW。
从 glfw 官网 直接下载源码并解压,然后开始编译:
打开命令行,切换到解压后的 glfw 根目录,然后依次执行如下命令:
编译动态库,编译完的动态库在build/src目录:
1 | mkdir build |
编译静态库:
1 | mkdir build |
然后将库安装到本机,执行如下命令,动态库将会被安装到usr/local/lib目录,头文件安装到usr/local/include:
1 | make install |
准备 glad
进入下载页面下载 glad,它提供了一个生成器,选择如下:
Language选择C/C++;Specification选择OpenGL;gl我这里选择的是Version 3.3;Profile选择Core.
然后点击下面的 Generate 进行下载,下载完成后进行解压即可,不需要进行编译,直接在项目中引用源文件即可。
创建项目
初始化
VSCode 创建项目很简单,打开一个空的文件夹即可,然后创建 CMakeList.txt,如果安装了 ‘CMake Tools’插件,可以直接按下 F1,然后执行 CMake:Quick Start命令帮助快速创建。
安装 glad
这一步很简单,将 include 文件夹下的 glad、KHR 拷贝到项目中的 include 文件夹(没有的话进行创建),然后将 src/glad.c 拷贝到项目中。
配置库和框架
修改 CMakeList.txt:
1 | cmake_minimum_required(VERSION 3.0.0) |
验证测试代码
修改 main.cpp
1 |
|
生成与调试
可以通过 CMake Tools提供的图形界面进行生成,也可以通过一下命令,打开 F1,执行命令CMake:Build。如果显示生成成功,说明环境配置成功,显示结果如下:
如果需要调试程序,在 Debug 面板中点击齿轮按钮,然后选择C++(GDB/LLDB)调试器,再选择默认配置,最后修改 launch.json 中的 program 属性,指向生成的程序:
1 | { |