private void Render(DirectXResource input, DirectXDownloaderPlaneData plane, DeviceContext ctx)
 {
     using (var srv = input.GetShaderResourceView())
         using (var rtv = plane.GpuTexture.GetRenderTargetView())
         {
             plane.Pipeline.Render(ctx, rtv, srv);
         }
 }
 private void Render(DirectXResource input, DirectXResource output, DirectXTransformerPlaneData plane, DeviceContext ctx)
 {
     using (var srv = input.GetShaderResourceView())
         using (var rtv = new RenderTargetView(ctx.Device, output.Texture2D, new RenderTargetViewDescription {
             Format = plane.Format, Dimension = RenderTargetViewDimension.Texture2D
         }))
         {
             plane.Pipeline.Render(ctx, rtv, srv);
         }
 }
        public virtual DirectXResource Render(DeviceContext ctx, DirectXResource source)
        {
            var target = Dx.Pool.Get("FilterStage", DirectXResource.Desc(source.Texture2D.Description.Width, source.Texture2D.Description.Height));

            using var rtv = target.GetRenderTargetView();
            using var srv = source.GetShaderResourceView();

            Pipeline.SetPosition(DirectXPipelineConfig.FullRectangle, new Viewport(0, 0, source.Texture2D.Description.Width, source.Texture2D.Description.Height));
            Render(ctx, rtv, srv, source.Texture2D.Description.Width, source.Texture2D.Description.Height);

            return(target);
        }