按矩阵类型划分的转换矩阵乘法,C++

Transformation Matrix Multiplication by matrix type, C++

本文关键字:C++ 类型 划分 转换      更新时间:2023-10-16

理论上,让我们假设我们要对 3D 齐次 (4x4( 转换矩阵的每个不同组合(平移、旋转、缩放(进行硬编码矩阵乘法,然后对这些矩阵的每个可能结果(平移-旋转、平移-缩放、缩放-旋转(进行硬编码

......

假设我们要像这样处理矩阵乘法,每个矩阵类型组合都有一个不同的函数,其中每个矩阵都有一个额外的变量(类型(,并且在运行时确定要使用的特定函数(使用函数指针数组(。 如果我们应用这种矩阵乘法,理论上它是否比基本的、标准的 4x4 齐次矩阵乘法更快(它仍然比通用的 4x4 矩阵乘法更快(?

我现在正在这样做,编码有点地狱。 最后,我将针对标准矩阵乘法对其进行测试,并比较结果。 我只是想看看其他人认为结果会是什么。 有什么想法吗?

我认为更好的主意是仅存储对象的位置和方向,而不是整个矩阵。您只需计算矩阵用于渲染目的,在所有转换之后计算一次。转换是通过添加平移(对于位置(和乘以四元数(对于方向(来完成的。