Beispiel #1
0
 /// <summary>
 /// Called when [create render target and depth buffers].
 /// </summary>
 /// <param name="width">The width.</param>
 /// <param name="height">The height.</param>
 /// <returns></returns>
 protected override ShaderResourceViewProxy OnCreateBackBuffer(int width, int height)
 {
     if (swapChain == null || swapChain.IsDisposed)
     {
         swapChain = CreateSwapChain(surfacePtr);
     }
     else
     {
         RemoveAndDispose(ref d2dTarget);
         RemoveAndDispose(ref backBuffer);
         swapChain.ResizeBuffers(swapChain.Description1.BufferCount, TargetWidth, TargetHeight, swapChain.Description.ModeDescription.Format, swapChain.Description.Flags);
     }
     backBuffer = new ShaderResourceViewProxy(Device, Texture2D.FromSwapChain <Texture2D>(swapChain, 0));
     d2dTarget  = new D2DTargetProxy();
     d2dTarget.Initialize(swapChain, DeviceContext2D);
     return(backBuffer);
 }
Beispiel #2
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="width"></param>
            /// <param name="height"></param>
            /// <returns></returns>
            protected override ShaderResourceViewProxy OnCreateBackBuffer(int width, int height)
            {
                var colordescNMS = new Texture2DDescription
                {
                    BindFlags         = BindFlags.RenderTarget | BindFlags.ShaderResource,
                    Format            = Format,
                    Width             = width,
                    Height            = height,
                    MipLevels         = 1,
                    SampleDescription = new SampleDescription(1, 0),
                    Usage             = ResourceUsage.Default,
                    OptionFlags       = ResourceOptionFlags.Shared,
                    CpuAccessFlags    = CpuAccessFlags.None,
                    ArraySize         = 1
                };

                var backBuffer = new ShaderResourceViewProxy(Device, colordescNMS);

                d2dTarget = new D2DTargetProxy();
                d2dTarget.Initialize(backBuffer.Resource as Texture2D, DeviceContext2D);
                return(backBuffer);
            }