public void Update(GameTime gameTime) { player.Update(gameTime, GamePad.GetState(PlayerIndex.One)); if (!paused) { rot += updateStep * new Vector3(1, 0.82f, 0.71f) * (float)gameTime.ElapsedGameTime.TotalSeconds; } else { rot.Z += updateStep * 0.71f * (float)gameTime.ElapsedGameTime.TotalSeconds; } if (KeyReleased(Keys.Space)) { rebuild = true; } if (KeyReleased(Keys.D1)) { technique = 0; } if (KeyReleased(Keys.D2)) { technique = 1; } if (KeyReleased(Keys.D3)) { technique = 2; } if (KeyReleased(Keys.OemPlus)) { latticeSize++; rebuild = true; } if (KeyReleased(Keys.Pause)) { paused = !paused; } if (KeyReleased(Keys.PageUp)) { updateStep *= 2; } if (KeyReleased(Keys.PageDown)) { updateStep /= 2; } if (KeyReleased(Keys.OemMinus)) { latticeSize = Math.Max(0, latticeSize - 1); rebuild = true; } if (KeyReleased(Keys.Q)) { drawInstanced = false; } if (KeyReleased(Keys.W)) { drawInstanced = true; } camera.SetLookAt(player.Position, player.Position + player.Facing, player.Up); InitLights(); }