快速计算转换/旋转Marix 4x4

时间:2018-04-17 09:36:31

标签: c++ opengl eigen

我正在研究图形引擎。我的所有模型都使用变换矩阵将它们放在空间中。

但是我在执行速度方面遇到了问题。

我使用这种方法:

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());
}

这对我来说太慢了。谁知道更快的方法?

谢谢!

1 个答案:

答案 0 :(得分:1)

我已经解决了我的问题。这是因为我在调试模式下编译。如果我在发布模式下编译它并不慢。谢谢你的所有答案。