我有一个矩阵类型,定义为:
struct __transform_t
{
float m11, m12, m13, m14;
float m21, m22, m23, m24;
float m31, m32, m33, m34;
float m41, m42, m43, m44;
};
我如何将一个矩阵连接到另一个矩阵?我想“合并”这些矩阵以获得结合两种转换的结果。基本上,我正在尝试制作一个简单的分层系统,因此如果父层被转换,子层(即在父层内部的视觉)也应该继承这些转换并拥有自己的转换。
我正在尝试像下面的示例中那样做,但我认为这不是正确的方法:
void transform_concat(transform_t* orig, transform_t* delta)
{
#define __act(x) orig->m##x += delta->m##x;
__act(11); __act(12); __act(13); __act(14);
__act(21); __act(22); __act(23); __act(24);
__act(31); __act(32); __act(33); __act(34);
__act(41); __act(42); __act(43); __act(44);
#undef __act
}