快速计算 transformation/rotation Marix 4x4
Fast calculation of transformation/rotation Marix 4x4
我正在研究图形引擎。我所有的模型都使用转换矩阵将它们放在 space 中。
但是执行速度有问题
我用这个方法:
Matrix4f* createTransformationMatrix(Vector3f translation, float rx, float ry, float rz, float scale) {
Transform<float, 3, Eigen::Affine> t;
t = AngleAxis<float>(rz, Vector3f::UnitZ());
t.prerotate(AngleAxis<float>(ry, Vector3f::UnitY()));
t.prerotate(AngleAxis<float>(rx, Vector3f::UnitX()));
t.prescale(scale);
t.pretranslate(translation);
return new Matrix4f(t.matrix());
}
这对我来说太慢了。谁知道更快的方法?
谢谢!
我的问题已经解决了。这是因为我在调试模式下编译。如果我在发布模式下编译它并不慢。感谢您的所有回答。
我正在研究图形引擎。我所有的模型都使用转换矩阵将它们放在 space 中。
但是执行速度有问题
我用这个方法:
Matrix4f* createTransformationMatrix(Vector3f translation, float rx, float ry, float rz, float scale) {
Transform<float, 3, Eigen::Affine> t;
t = AngleAxis<float>(rz, Vector3f::UnitZ());
t.prerotate(AngleAxis<float>(ry, Vector3f::UnitY()));
t.prerotate(AngleAxis<float>(rx, Vector3f::UnitX()));
t.prescale(scale);
t.pretranslate(translation);
return new Matrix4f(t.matrix());
}
这对我来说太慢了。谁知道更快的方法?
谢谢!
我的问题已经解决了。这是因为我在调试模式下编译。如果我在发布模式下编译它并不慢。感谢您的所有回答。