Exemplo n.º 1
0
 public void ClearRenderTarget(GpuRenderTarget renderTarget, Colorf color)
 {
     //clear render target using color
     //x = red, y = green, z = blue, w = alpha
     ImmediateContext.ClearRenderTargetView(renderTarget.RenderTarget,
                                            new SharpDX.Mathematics.Interop.RawColor4(color.Red, color.Green, color.Blue, color.Alpha));
 }
Exemplo n.º 2
0
 public void ClearRenderTarget(GpuRenderTarget renderTarget, Vector4 <float> color)
 {
     //clear render target using color
     //x = red, y = green, z = blue, w = alpha
     ImmediateContext.ClearRenderTargetView(renderTarget.RenderTarget,
                                            new SharpDX.Mathematics.Interop.RawColor4(color.X, color.Y, color.Z, color.W));
 }
Exemplo n.º 3
0
        public GpuSwapChain(
            IntPtr handle,
            Size <int> size,
            GpuPixelFormat pixelFormat,
            GpuDevice device)
        {
            //size property
            Size        = size;
            PixelFormat = pixelFormat;
            GpuDevice   = device;

            //get factory
            using (var factory = GpuDevice.Adapter.Adapter.GetParent <SharpDX.DXGI.Factory>())
            {
                //set swapchain desc
                var swapChainDesc = new SharpDX.DXGI.SwapChainDescription()
                {
                    BufferCount     = 1,
                    Flags           = SharpDX.DXGI.SwapChainFlags.None,
                    IsWindowed      = true,
                    ModeDescription = new SharpDX.DXGI.ModeDescription()
                    {
                        Format           = GpuConvert.ToPixelFormat(PixelFormat),
                        Height           = Size.Height,
                        Width            = Size.Width,
                        RefreshRate      = new SharpDX.DXGI.Rational(60, 1),
                        Scaling          = SharpDX.DXGI.DisplayModeScaling.Unspecified,
                        ScanlineOrdering = SharpDX.DXGI.DisplayModeScanlineOrder.Unspecified
                    },
                    OutputHandle      = handle,
                    SampleDescription = new SharpDX.DXGI.SampleDescription(1, 0),
                    SwapEffect        = SharpDX.DXGI.SwapEffect.Discard,
                    Usage             = SharpDX.DXGI.Usage.RenderTargetOutput
                };

                mSwapChain = new SharpDX.DXGI.SwapChain(factory, GpuDevice.Device, swapChainDesc);

                //report error, if create swapchain failed
                LogEmitter.Assert(mSwapChain != null, LogLevel.Error,
                                  "[Create SwapChain Failed] [Width = {0}] [Height = {1}] [Format = {2}]", Size.Width, Size.Height, PixelFormat);

                RenderTarget = new GpuRenderTarget(GpuDevice, this);
            }
        }
Exemplo n.º 4
0
 public void SetRenderTarget(GpuRenderTarget renderTarget)
 {
     //set render target
     ImmediateContext.OutputMerger.SetRenderTargets(renderTarget.RenderTarget);
 }