Example #1
0
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;
	}
}
Example #2
0
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;
    }
}