OpenGL学习笔记【3】—— GLAD配置

一、为什么用GLAD

由于OpenGL驱动版本众多,它大多数函数的位置都无法在编译时确定下来,需要在运行时查询。所以任务就落在了开发者身上,开发者需要在运行时获取函数地址并将其保存在一个函数指针中供以后使用。取得地址的方法因平台而异,在Windows上会是类似这样:

你可以看到代码非常复杂,而且很繁琐,我们需要对每个可能使用的函数都要重复这个过程。幸运的是,有些库能简化此过程,其中GLAD是目前最新,也是最流行的库 。

GLAD是继GL3W,GLEW之后,当前最新的用来访问OpenGL规范接口的第三方库,官方网址为https://glad.dav1d.de/

GLAD是一个开源的库,GLAD的配置与大多数的开源库有些许的不同,GLAD使用了一个在线服务。在这里我们能够告诉GLAD需要定义的OpenGL版本,并且根据这个版本加载所有相关的OpenGL函数。

二、GLAD配置

(1)、打开GLAD的在线服务(https://glad.dav1d.de/)进行如下设置:

(2)、点击GENERATE按钮,GLAD提供给我们了一个zip压缩文件

(3)、解压glad.zip后里面包含两个头文件,和一个glad.c文件

(4)、将两个头文件目录**(glad和KHR)** 复制到上一章节2.6步骤中创建的存放OpenGL库文件的的Include文件夹

(5)、添加glad.c文件到你的工程中

接着上一章节创建的项目:右击项目,选择添加>>现有项

至此GLAD 也已经配置成功

三、测试GLAD库和GLFW库是否成功链接进项目

(1)在我们创建的MyFirstOpenGL项目里,新建一个.cpp文件命名main.cpp

(2) 编写引入库文件代码

注意: 请确保GLAD头文件的引入需在GLFW之前,因为GLAD的头文件包含了正确的OpenGL头文件(例如GL/gl.h),所以需要在引入其他依赖于OpenGL的头文件之前先引入GLAD。

(3)点击编译,如果没有提示任何的错误,表示GLAD库和GLFW库引用成功

四、初始化GLAD库,加载所有OpenGL函数指针

GLAD是用来管理OpenGL的函数指针的,所以在调用任何OpenGL的函数之前我们需要初始化GLAD,从而让我们能够使用所有OpenGL函数

**参数1:**GLADloadproc类型的函数指针地址。这里我们通过GLFW中的glfwGetProcAddress属性获取了函数指针的的地址;

cpp 复制代码
if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
        //加载函数地址失败
        //打印错误信息
        std::cout << "Failed to initialize GLAD" << std::endl;
        return -1;
    }
相关推荐
zhooyu3 天前
利用叉乘判断OpenGL中的左右关系
c++·3d·opengl
zhooyu15 天前
GLM中lerp实现线性插值
c++·opengl
智算菩萨16 天前
【OpenGL】10 完整游戏开发实战:基于OpenGL的2D/3D游戏框架、物理引擎集成与AI辅助编程指南
人工智能·python·游戏·3d·矩阵·pygame·opengl
智算菩萨16 天前
【OpenGL】6 真实感光照渲染实战:Phong模型、材质系统与PBR基础
开发语言·python·游戏引擎·游戏程序·pygame·材质·opengl
梵尔纳多20 天前
视角的移动以及模型的平移,旋转,缩放
c++·图形渲染·opengl
( ⩌ - ⩌ )1 个月前
OpenCV实现视频采集
opencv·计算机视觉·opengl
alvin_20051 个月前
python之OpenGL应用(五)变换
python·opengl
zhooyu1 个月前
二维坐标转三维坐标的实现原理
c++·3d·opengl
( ⩌ - ⩌ )1 个月前
4.OpenGL纹理贴图
qt·opengl·纹理
子辰ToT2 个月前
LearnOpenGL——PBR(三)漫反射辐照度
笔记·图形渲染·opengl