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呀什么的,只会把自己越搞越混乱。。。

posted @ 2017-11-13 04:18  prop_jeff  阅读(495)  评论(0编辑  收藏  举报