シャドウ マップを描画するクラスです。
このクラスはシャドウ マップの描画に専念するため、 VSM 形式でシャドウ マップを生成する場合、 別途、このクラスで描画したシャドウ マップに対してブラーを適用する必要があります。
Inheritance: IDisposable
Exemplo n.º 1
0
        protected override void LoadContent()
        {
            shadowMapEffect = new ShadowMapEffect(Content.Load<Effect>("ShadowMap"));
            gaussianBlurEffect = Content.Load<Effect>("GaussianBlur");

            drawModelEffect = new DrawModelEffect(Content.Load<Effect>("DrawModel"));
            drawModelEffect.AmbientColor = new Vector4(0.15f, 0.15f, 0.15f, 1.0f);
            drawModelEffect.DepthBias = 0.001f;
            drawModelEffect.LightDirection = lightDirection;
            drawModelEffect.ShadowColor = new Vector3(0.5f, 0.5f, 0.5f);

            spriteBatch = new SpriteBatch(GraphicsDevice);
            spriteFont = Content.Load<SpriteFont>("hudFont");

            gridModel = Content.Load<Model>("grid");
            dudeModel = Content.Load<Model>("dude");

            dudeBoxLocal = BoundingBoxHelper.Empty;
            foreach (var mesh in dudeModel.Meshes)
            {
                BoundingBoxHelper.Merge(ref dudeBoxLocal, BoundingBox.CreateFromSphere(mesh.BoundingSphere));
            }

            for (int i = 0; i < shadowMaps.Length; i++)
            {
                shadowMaps[i] = new ShadowMap(GraphicsDevice, shadowMapEffect);
            }
        }