本文主要使用了以下三个开源项目进行OpenGL的开发环境配置:
GLAD,https://glad.dav1d.de/ (通过选项生成相应的源代码文件)
GLM,https://github.com/g-truc/glm
环境配置基于CMake,尽可能按照源代码的形式组织工程,过程参考了https://learnopengl-cn.github.io/01%20Getting%20started/02%20Creating%20a%20window/
GLAD配置
GLAD的配置相对比较简单,生成的文件主要有3个,分别是glad.c
,glad.h
,khrplatform.h
。处理方式是在CMake中通过这3个文件构建一个库,使用add_library
指令,并添加头文件的路径依赖到库中,便于其他部分引用。
GLFW配置
GLFW可以从官网上直接下载到已经编译好的库,本文则在工程中以源代码的形式接入,便于跨平台和调试。源代码在解压缩后根目录中包含了CMakeLists
文件,因此在外部通过add_subdirectory
调用GLFW本身提供的编译流程,在引用时也会自动关联头文件的目录。
需要注意的是在有的平台会存在OpenGL头文件重复包含的编译错误,这时要在使用GLFW的工程中添加GLFW_INCLUDE_NONE
的宏定义来规避错误,这个宏定义只能出现在调用GLFW的地方,编译GLFW时不能定义该宏。
GLM配置
GLM也是通过源代码接入,本身包含了CMakeLists
文件,但原始的CMake依赖不包含头文件的目录,需要手动添加。
目前该配置环境在VS2017和VS2019可以测试通过,完整的工程代码可以参考本人的学习项目learn_opengl_examples,其实现代码主要来源于LearnOpenGL,LearnOpenGL-CN