示例#1
0
        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;
            }
        }
示例#2
0
 public void DrawShadow(MeshRenderer meshRenderer, BoundingFrustum lightViewFrustum)
 {
     // Draw the target mesh shadow
     meshRenderer.DrawMeshShadow(targetMesh, lightViewFrustum);
 }