public void CreateSRV(D3D11RenderTarget rt) { if (m_srv != null) { m_srv.Dispose(); m_srv = null; } var texture = rt.Texture; m_srv = new ShaderResourceView(texture.Device, texture); }
Bitmap GetOrCreateBitmap(D3D11Device device, D3D11RenderTarget renderTarget) { Bitmap bitmap; if (!m_rtBitmapMap.TryGetValue(renderTarget, out bitmap)) { using (var surface = renderTarget.Texture.QueryInterface <SharpDX.DXGI.Surface>()) { bitmap = new Bitmap(device.D2DDeviceContext, surface, GetBP); } } return(bitmap); }
void GetOrRenderTarget(D3D11Device device, uint id, RectangleF rect) { if (rect != m_rect) { m_rect = rect; if (m_renderTarget != null) { m_renderTarget.Dispose(); m_renderTarget = null; } } if (m_renderTarget == null) { m_renderTarget = D3D11RenderTarget.Create(device, (int)rect.Width, (int)rect.Height); } }