3 #if SILICONSTUDIO_PLATFORM_WINDOWS_DESKTOP && SILICONSTUDIO_PARADOX_GRAPHICS_API_OPENGL
6 namespace SiliconStudio.
Paradox.Graphics
8 public class SwapChainGraphicsPresenter : GraphicsPresenter
12 public SwapChainGraphicsPresenter(GraphicsDevice device, PresentationParameters presentationParameters) : base(device, presentationParameters)
14 device.InitDefaultRenderTarget(presentationParameters);
15 backBuffer = device.DefaultRenderTarget;
16 DepthStencilBuffer = device.windowProvidedDepthBuffer;
21 get {
return backBuffer; }
24 public override object NativePresenter
29 public override bool IsFullScreen
33 return ((OpenTK.GameWindow)Description.DeviceWindowHandle.NativeHandle).WindowState == WindowState.Fullscreen;
37 var gameWindow = (OpenTK.GameWindow)Description.DeviceWindowHandle.NativeHandle;
38 if (gameWindow.Exists)
39 gameWindow.WindowState = value ? WindowState.Fullscreen : WindowState.Normal;
43 public override void Present()
45 GraphicsDevice.Begin();
48 if (GraphicsDevice.DefaultRenderTarget != GraphicsDevice.windowProvidedRenderTarget)
49 GraphicsDevice.Copy(GraphicsDevice.DefaultRenderTarget.Texture, GraphicsDevice.windowProvidedRenderTarget.Texture);
50 OpenTK.Graphics.GraphicsContext.CurrentContext.SwapBuffers();
54 protected override void ResizeBackBuffer(
int width,
int height,
PixelFormat format)
58 protected override void ResizeDepthStencilBuffer(
int width,
int height,
PixelFormat format)
60 ReleaseCurrentDepthStencilBuffer();
63 protected override void CreateDepthStencilBuffer()
Creates a render target buffer.
_In_ size_t _In_ size_t _In_ DXGI_FORMAT format
PixelFormat
Defines various types of pixel formats.