OpenGL 和 DirectX 矩阵 乘法 左乘和右乘,glm和DirectXMath。 OpenGL用列矩阵 在 glsl中反转矩阵

时间:2024-06-01 12:27:36

在OpenGL中,矩阵运算通常使用GLM(OpenGL Mathematics)库来进行。GLM库提供了与OpenGL兼容的数学运算功能,包括矩阵和向量的操作。而在DirectX中,矩阵运算通常使用DirectXMath库。

GLM和DirectXMath都遵循列主序存储矩阵元素,但它们在矩阵乘法的顺序上有所不同:GLM使用的是行向量乘法,而DirectX使用的是列向量乘法。这导致了矩阵乘法的结果可能不同,具体取决于操作顺序。

GLM矩阵乘法

在GLM中,矩阵乘法遵循行向量乘法规则,即:

C=A×B

表示的是矩阵 A 左乘矩阵 B,即第一个矩阵是变换的顺序。

示例代码
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#