示例#1
0
        private void DrawOcclusions(BoundingFrustum viewFrustum)
        {
            if (postProcessingEffectsEnabled)
            {
                graphicsDevice.SetRenderTarget(occlusionRT);
                graphicsDevice.Clear(Color.Black);

                lightRenderer.Draw(level.Light, camera.Up, camera.Look);
                if (level.Type == LevelType.Outdoor)
                {
                    terrainRenderer.DrawOcclusion(level.Terrain);
                    terrainRenderer.DrawOcclusion(level.TerrainPlane);
                }
                foreach (Mesh mesh in level.MeshList)
                {
                    if (viewFrustum.Intersects(mesh.AABB))
                    {
                        meshRenderer.DrawMeshOcclusion(mesh, viewFrustum);
                    }
                }
                foreach (ShootingTarget target in level.ShootingTargetList)
                {
                    target.DrawOcclusion(meshRenderer, viewFrustum);
                }
                level.Sky.DrawOcclusion();
            }
        }
示例#2
0
 public void DrawOcclusion()
 {
     // Draw the gun mesh occlusion
     meshRenderer.DrawMeshOcclusion(gunMesh);
 }
示例#3
0
 public void DrawOcclusion(MeshRenderer meshRenderer, BoundingFrustum viewFrustum)
 {
     // Draw the target mesh occlusion
     meshRenderer.DrawMeshOcclusion(targetMesh, viewFrustum);
 }