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