void CCharShape::TraverseDagForShadow(const TCharNode *node, const TMatrix<4, 4>& mat) { TMatrix<4, 4> new_matrix = mat * node->trans; if (node->visible && node->render_shadow) DrawShadowSphere (new_matrix); TCharNode* child = node->child; while (child != NULL) { TraverseDagForShadow (child, new_matrix); child = child->next; } }
void CCharShape::TraverseDagForShadow (const TCharNode *node, const TMatrix mat) { TMatrix new_matrix; MultiplyMatrices (new_matrix, mat, node->trans); if (node->visible && node->render_shadow) DrawShadowSphere (new_matrix); TCharNode* child = node->child; while (child != NULL) { TraverseDagForShadow (child, new_matrix); child = child->next; } }