virtual void ApplyMatrixTransform(SceneGraph::MatrixTransform &mt) override { if (mt.GetName() == m_name) { outMat = m_accumMat * mt.GetTransform(); } else { const matrix4x4f prevAcc = m_accumMat; m_accumMat = m_accumMat * mt.GetTransform(); mt.Traverse(*this); m_accumMat = prevAcc; } }
virtual void ApplyMatrixTransform(SceneGraph::MatrixTransform &m) { matrix4x4f matrix = matrix4x4f::Identity(); if (!m_matrixStack.empty()) matrix = m_matrixStack.back(); m_matrixStack.push_back(matrix * m.GetTransform()); m.Traverse(*this); m_matrixStack.pop_back(); }