背景
上一篇文章我们已经初步介绍了OpenGL的基本概念,准确来说OpenGL只是一个规范,基于这个规范提供了库去实现图像编程。OpenGL的很多操作都是基于一个窗口,今天我们就来实现创建一个简单的窗口,talk is cheap,show me your code。
环境配置
工欲善其事, 必先利其器,在正式开发之前还需要搭建一下环境,这里仅仅以个人的环境为例,不同的平台可以去google一下,有很多相关的文章,我自己使用的是Mac,为了方便编辑器使用的是VS Code。
step1:
在正式开始之前需要先安装GLFW,GLFW是一个C语言写的库,符合OpenGLd的标准,使用GLFW可以创建一个OpenGL的context,创建并定义一个窗口的参数以及处理用户的输入,安装后其安装位置要记住,之后需要使用。
brew install glfw
step2:
下载glad,可以去下载页面下载,使用一下配置即可:

然后点击下面的生成按钮并且下载。然后新建一个文件夹将解压后的include和src文件夹复制到新建的文件夹。 这个glad是一个开源库,正如之前我们所提到的OpenGL只是一个标准,具体的实现是有各个显卡厂商完成的, 所以显卡驱动的版本有很多种类,虽然都是基于OpenGL标准,实现的函数和最终的效果是一样的,但是函数的位置在编译期是无法知道的,且需要在运行时检索这些函数,然后将这些函数的位置存储在函数指针中以便之后使用,而这个检索函数的过程又是与操作系统高度相关的,而glad就是用来帮助开发者完成这些繁琐的过程。
step3:
新建CMakeList.txt文件,其内容如下,记得替换GLFW_H和GLFW_LINK的地址,在安装GLFW完成时会提示安装的位置。
cmake_minimum_required(VERSION 3.0.0)
project(HelloGL VERSION 0.1.0)
# 使用 C++ 11 标准
set(CMAKE_CXX_STANDARD 11)
# 添加头文件
set(GLAD_H ${PROJECT_SOURCE_DIR}/include)
set(GLFW_H /usr/local/include)
include_directories(${GLAD_H} ${GLFW_H})