static void CalculateOrthoShadow( const CCameraEntity& cam, Light& light ) { SVector3 target = gCasterBounds.getCenter(); SVector3 size = gCasterBounds.getMax() - gCasterBounds.getMin(); float radius = size.length() * 0.5f; // figure out the light camera matrix that encloses whole scene light.mWorldMat.spaceFromAxisZ(); light.mWorldMat.getOrigin() = target - light.mWorldMat.getAxisZ() * radius; light.setOrthoParams( radius*2, radius*2, radius*0.1f, radius*2 ); light.setOntoRenderContext(); }