public void SetRenderTargets(IDepthStencilView depthStencilView, IRenderTargetView renderTargetView0, IRenderTargetView renderTargetView1 = null, IRenderTargetView renderTargetView2 = null, IRenderTargetView renderTargetView3 = null) { var dsv = (DepthStencilViewBox)depthStencilView; var rtv0 = (RenderTargetViewBox)renderTargetView0; var rtv1 = (RenderTargetViewBox)renderTargetView1; var rtv2 = (RenderTargetViewBox)renderTargetView2; var rtv3 = (RenderTargetViewBox)renderTargetView3; if (_currentDepthStencilView == dsv && _currentRenderTargetViews[0] == rtv0 && _currentRenderTargetViews[1] == rtv1 && _currentRenderTargetViews[2] == rtv2 && _currentRenderTargetViews[3] == rtv3) { return; } _currentDepthStencilView = dsv; _currentRenderTargetViews[0] = rtv0; _currentRenderTargetViews[1] = rtv1; _currentRenderTargetViews[2] = rtv2; _currentRenderTargetViews[3] = rtv3; UpdateRenderTargetsInternal(); }
public void MoveAssignFrom(DepthStencilViewBox other) { Utilities.Dispose <DepthStencilView>(ref DepthStencilView); DepthStencilView = other.DepthStencilView; other.DepthStencilView = null; Resolution = other.Resolution; other.Resolution = new Size(-1, -1); }
protected void ResetToUninitializedState() { _currentDepthConfiguration = DepthConfiguration.Uninitialized; _currentRasterizerConfiguration = RasterizerConfiguration.Uninitialized; _currentDepthStencilView = null; for (var i = 0; i < _currentRenderTargetViews.Length; i++) { _currentRenderTargetViews[i] = null; _preallocatedRtvArray[i] = null; } _currentViewportRect = RectangleF.Empty; }
public void HandleBackBufferResized(DepthStencilViewBox backBufferDepthView, RenderTargetViewBox backBufferRenderTargetView) { _backBufferRenderTargetView = backBufferRenderTargetView; _backBufferDepthView = backBufferDepthView; if (_currentRenderTargetViews[0] == backBufferRenderTargetView || _currentRenderTargetViews[1] == backBufferRenderTargetView || _currentRenderTargetViews[2] == backBufferRenderTargetView || _currentRenderTargetViews[3] == backBufferRenderTargetView || _currentDepthStencilView == backBufferDepthView) { UpdateRenderTargetsInternal(); } }