示例#1
0
            public void Restore(GraphicsDevice graphicsDevice)
            {
                graphicsDevice.SetDepthAndRenderTargets(DepthStencilBuffer, RenderTargets);

                graphicsDevice.SetBlendState(BlendState, BlendFactor, BlendMultiSampleMask);
                graphicsDevice.SetDepthStencilState(DepthStencilState, StencilReference);
                graphicsDevice.SetRasterizerState(RasterizerState);

                // TODO: This is not optimized
                for (int i = 0; i < Viewports.Length; i++)
                {
                    var viewport = Viewports[i];
                    if (viewport != Graphics.Viewport.Empty)
                    {
                        graphicsDevice.SetViewport(i, viewport);
                    }
                }
            }