我开始了解OpenGL和GLM以及GLSL,我感到有些困惑。我会在这里说到目前为止我所理解的和我的问题,所以请随时随地纠正我。
到目前为止,我看到GLM扩展了提供更多数学函数的GLSL文档,但由于GLM是基于C ++的,它将在CPU上运行,另一方面,GLSL直接在GPU中运行,所以我猜矩阵数学很多GLSL更快,因为它可以使用GPU的功能并行完成所有数学运算。那么为什么要使用GLM?
答案 0 :(得分:11)
他们是完全不同的东西:
GLM不是GLSL的替代品或替代品。它的目的是帮助进行在GPU上没有意义的计算 - 例如构建顶点着色器使用的投影矩阵,或者计算3D空间中点之间的距离。
答案 1 :(得分:1)
他们有两件完全不同的东西:
GLM在其名称中使用OpenGL的原因是因为它是在他们的脑海中使用图形编程构建的(换句话说,是为OpenGL制作的)。
简短版本:GLM适用于您的程序,GLSL的数学功能适用于您的着色器。