+
+ if( viewing_from_hub ){
+ m4x4f m4mdl, pvm;
+ m4x3_expand( mmdl, m4mdl );
+ m4x4_mul( cam->mtx_prev.pv, m4mdl, pvm );
+ shader_scene_route_uMdl( mmdl );
+ shader_scene_route_uPvmPrev( pvm );
+
+ m3x3f mnormal;
+ m3x3_inv( mmdl, mnormal );
+ m3x3_transpose( mnormal, mnormal );
+ v3_normalize( mnormal[0] );
+ v3_normalize( mnormal[1] );
+ v3_normalize( mnormal[2] );
+ shader_scene_route_uNormalMtx( mnormal );
+ }
+ else{
+ shader_scene_route_uMdl( mmdl );
+ shader_scene_route_uPvmPrev( cam->mtx_prev.pv );
+ m3x3f ident;
+ m3x3_identity( ident );
+ shader_scene_route_uNormalMtx( ident );
+ }
+