OpenGL Column-Major Matrix 使用注意事项

这column major的矩阵是彻底把我搞晕了,以后右乘规则下的矩阵应该这么用

假设我想创建一个2x2的矩阵,数学上我这么写:

1 2

3 4

用代码创建的话这么写

// 按照 row major 创建后转置
auto tmp = mat2(); tmp[0][0] = 1; tmp[0][1] = 2; tmp[1][0] = 3; tmp[1][1] = 4; tmp = glm::transpose(tmp);

或者

// 直接按照 column major 创建
auto tmp = mat2(1,3,2,4);

不要试图理解什么OpenGL储存矩阵的内存layout呀什么的,只会把自己越搞越混乱。。。

原文地址:https://www.cnblogs.com/makejeffer/p/7824634.html