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); } }