private void DrawShadows(BoundingFrustum lightViewFrustum) { if (shadowsEnabled) { graphicsDevice.SetRenderTarget(level.Light.ShadowMap); graphicsDevice.Clear(Color.Black); foreach (Mesh mesh in level.MeshList) { if (lightViewFrustum.Intersects(mesh.AABB)) { meshRenderer.DrawMeshShadow(mesh, lightViewFrustum); } } foreach (ShootingTarget target in level.ShootingTargetList) { target.DrawShadow(meshRenderer, lightViewFrustum); } SharedEffectParameters.xShadowMap = level.Light.ShadowMap; } }
public void DrawShadow(MeshRenderer meshRenderer, BoundingFrustum lightViewFrustum) { // Draw the target mesh shadow meshRenderer.DrawMeshShadow(targetMesh, lightViewFrustum); }