07-数学库
1.1.5 数学库
3D图形编程大量使用向量和矩阵代数。因此,配合一个支持常见数学计算任务的函数库或者类包,能极大地方便OpenGL的使用。常常和OpenGL一起使用的两个这样的库是Eigen和vmath。后者在流行的OpenGL SuperBible [SW15]中被使用。
可能最流行的数学库,也是本书中使用的,是OpenGL Mathematics,一般称作GLM。它是一个只有头文件的C++库,兼容Windows、macOS和Linux [GM17]。GLM命令很方便地遵循和GLSL相同的命名惯例,使得来回阅读特定应用程序的C++和GLSL代码时更容易。GLM可以在官网下载。
GLM提供与图形概念相关的类和基本数学函数,例如矢量、矩阵和四元数。它还包含各种工具类,用于创建和使用常见的3D图形结构,例如透视和视角矩阵。它最早在2005年发布,由Christophe Riccio [GM17]维护。有关安装GLM的说明,请参阅附录。