繁体   English   中英

本征库得到了“逗号初始化器”,为什么要把主要列设为默认值?

[英]Eigen library got “comma initilizer”, why make column-major the default?

根据Eigen(C ++)库的文档,默认矩阵为column-major。 如此有效,一个小的3x3矩阵将类似于

1 4 7
2 5 8
3 6 9

然后它得到了逗号初始化器 ,前端看起来像是行主要的,但是后端仍然是列主要的

Example: (from eigen doc)
Matrix3f m;
m << 1, 2, 3,
     4, 5, 6,
     7, 8, 9;

std::cout << m;

output: 
1 2 3
4 5 6
7 8 9

是的,我意识到RowMajor是创建行主要矩阵所需要的。 我想知道,由于它们具有Comma初始值设定项 ,为什么将它们设为column-major作为默认值?

与原始数据缓冲区接口时,可能不是主要的原因之一。 通过OpenGL发送到着色器程序的矩阵缓冲区是主要列,并且相似性允许您仅调用.data()即可将本征矩阵发送到着色器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM