public ShadowSettings() { Bias = 0.002f; OffsetScale = 0.1f; SplitDistance0 = 0.12f; SplitDistance1 = 0.25f; SplitDistance2 = 0.50f; SplitDistance3 = 1.0f; FixedFilterSize = FixedFilterSize.Filter7x7; FilterAcrossCascades = true; }
public override void Update(GameTime gameTime) { var keyboardState = Keyboard.GetState(); if (keyboardState.IsKeyDown(Keys.L) && !_lastKeyboardState.IsKeyDown(Keys.L)) AnimateLight = !AnimateLight; if (keyboardState.IsKeyDown(Keys.F) && !_lastKeyboardState.IsKeyDown(Keys.F)) { FixedFilterSize++; if (FixedFilterSize > FixedFilterSize.Filter7x7) FixedFilterSize = FixedFilterSize.Filter2x2; } if (keyboardState.IsKeyDown(Keys.C) && !_lastKeyboardState.IsKeyDown(Keys.C)) StabilizeCascades = !StabilizeCascades; if (keyboardState.IsKeyDown(Keys.V) && !_lastKeyboardState.IsKeyDown(Keys.V)) VisualizeCascades = !VisualizeCascades; if (keyboardState.IsKeyDown(Keys.K) && !_lastKeyboardState.IsKeyDown(Keys.K)) FilterAcrossCascades = !FilterAcrossCascades; if (keyboardState.IsKeyDown(Keys.B) && !_lastKeyboardState.IsKeyDown(Keys.B)) { if (keyboardState.IsKeyDown(Keys.LeftShift) || keyboardState.IsKeyDown(Keys.RightShift)) { Bias += 0.001f; } else { Bias -= 0.001f; Bias = Math.Max(Bias, 0.0f); } Bias = (float) Math.Round(Bias, 3); } if (keyboardState.IsKeyDown(Keys.O) && !_lastKeyboardState.IsKeyDown(Keys.O)) { if (keyboardState.IsKeyDown(Keys.LeftShift) || keyboardState.IsKeyDown(Keys.RightShift)) { OffsetScale += 0.1f; } else { OffsetScale -= 0.1f; OffsetScale = Math.Max(OffsetScale, 0.0f); } OffsetScale = (float) Math.Round(OffsetScale, 1); } _lastKeyboardState = keyboardState; }
public override void Update(GameTime gameTime) { var keyboardState = Keyboard.GetState(); if (keyboardState.IsKeyDown(Keys.L) && !_lastKeyboardState.IsKeyDown(Keys.L)) { AnimateLight = !AnimateLight; } if (keyboardState.IsKeyDown(Keys.F) && !_lastKeyboardState.IsKeyDown(Keys.F)) { FixedFilterSize++; if (FixedFilterSize > FixedFilterSize.Filter7x7) { FixedFilterSize = FixedFilterSize.Filter2x2; } } if (keyboardState.IsKeyDown(Keys.C) && !_lastKeyboardState.IsKeyDown(Keys.C)) { StabilizeCascades = !StabilizeCascades; } if (keyboardState.IsKeyDown(Keys.V) && !_lastKeyboardState.IsKeyDown(Keys.V)) { VisualizeCascades = !VisualizeCascades; } if (keyboardState.IsKeyDown(Keys.K) && !_lastKeyboardState.IsKeyDown(Keys.K)) { FilterAcrossCascades = !FilterAcrossCascades; } if (keyboardState.IsKeyDown(Keys.B) && !_lastKeyboardState.IsKeyDown(Keys.B)) { if (keyboardState.IsKeyDown(Keys.LeftShift) || keyboardState.IsKeyDown(Keys.RightShift)) { Bias += 0.001f; } else { Bias -= 0.001f; Bias = Math.Max(Bias, 0.0f); } Bias = (float)Math.Round(Bias, 3); } if (keyboardState.IsKeyDown(Keys.O) && !_lastKeyboardState.IsKeyDown(Keys.O)) { if (keyboardState.IsKeyDown(Keys.LeftShift) || keyboardState.IsKeyDown(Keys.RightShift)) { OffsetScale += 0.1f; } else { OffsetScale -= 0.1f; OffsetScale = Math.Max(OffsetScale, 0.0f); } OffsetScale = (float)Math.Round(OffsetScale, 1); } _lastKeyboardState = keyboardState; }