166 asc_clear_flag(node->flags, ASC_SCENE_NODE_UPDATE_TRANSFORM); |
166 asc_clear_flag(node->flags, ASC_SCENE_NODE_UPDATE_TRANSFORM); |
167 if (node->parent == scene->root) { |
167 if (node->parent == scene->root) { |
168 // skip unnecessary multiplication with unity matrix |
168 // skip unnecessary multiplication with unity matrix |
169 asc_transform_copy(node->world_transform, node->transform); |
169 asc_transform_copy(node->world_transform, node->transform); |
170 } else { |
170 } else { |
171 asc_mat4f_mulst( |
171 asc_mat4f_mul( |
172 node->world_transform, |
172 node->world_transform, |
173 node->transform, |
173 node->transform, |
174 node->parent->world_transform |
174 node->parent->world_transform |
175 ); |
175 ); |
176 } |
176 } |