public void Draw(GameTime gameTime, SpriteBatch spriteBatch) { if (_current != null) { _current.Draw(gameTime, spriteBatch); } _gameStateManager.Draw(gameTime, spriteBatch); }
public void Draw() { // Clear all targets to white for depth and shadow buffers GraphicsDevice.SetRenderTargets(OutputRT, BorderRT, DepthRT); GraphicsDevice.Viewport = outputViewport; GraphicsDevice.Clear( ClearOptions.Target | ClearOptions.DepthBuffer | ClearOptions.Stencil, Color.White, 1.0f, 0); GraphicsDevice.RasterizerState = ccwCull; // Run rendering systems World.Draw(); #if false // Draw G-Buffer var w = displayViewport.Width; var h = displayViewport.Height; effect.Texture = OutputRT; GraphicsDevice.Viewport = new Viewport(0, 0, w / 2, h / 2); DrawFullscreen(effect); effect.Texture = BorderRT; GraphicsDevice.Viewport = new Viewport(w / 2, 0, w / 2, h / 2); DrawFullscreen(effect); effect.Texture = DepthRT; GraphicsDevice.Viewport = new Viewport(0, h / 2, w / 2, h / 2); DrawFullscreen(effect); //effect.Texture = ShadowRT; //g.Viewport = new Viewport(w / 2, h / 2, w / 2, h / 2); //DrawFullscreen(effect); #endif // Output to screen GraphicsDevice.SetRenderTarget(null); GraphicsDevice.Viewport = displayViewport; DrawFullscreen(effect); }