第一章 初识OpenGL及PBR
本文由@GarsDong 出品,转载请注明出处
一、初识OpenGL
1.1 什么是OpenGL?
OpenGL的英文全称是Open Graphics Library, 是图形的应用编程接口(API)
根据百度的定义:OpenGL是应用于渲染2D、3D矢量图形的跨语言跨平台的应用程序编程接口。与之同类的是用于Windows的Direct3D。
另一种理解是,OpenGL和普通的API不同,它是一种规范(specification),由OpenGL架构评审委员会维护ARB;由Khronos Group进行开发及维护。常用的版本是3.3(version 330)文档链接如下:https://www.khronos.org/registry/OpenGL/specs/gl/glspec33.core.pdf
(注:因为只是一个标准/规范,具体实现是由驱动开发商针对特定显卡实现的。由于OpenGL驱动版本众多,大多数函数的位置都无法在编译时确定下来,需要运行时查询。开发者需要在运行时获取函数地址并将其保存在一个函数中供以后使用。这个过程非常复杂和繁琐,例如GLAD库就是简化这个过程。)