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)); }
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)); }
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); } }
public void SetRenderTarget(GpuRenderTarget renderTarget) { //set render target ImmediateContext.OutputMerger.SetRenderTargets(renderTarget.RenderTarget); }