public bool Initialise(Device device, Texture2D renderTarget) { Debug.Assert(!_initialised); if (_initialising) { return(false); } _initialising = true; try { _device = device; _renderTarget = renderTarget; try { _deviceContext = ToDispose(new DeviceContext(_device)); } catch (SharpDXException) { _deviceContext = _device.ImmediateContext; } _renderTargetView = ToDispose(new RenderTargetView(_device, _renderTarget)); //if (DeferredContext) //{ // ViewportF[] viewportf = { new ViewportF(0, 0, _renderTarget.Description.Width, _renderTarget.Description.Height, 0, 1) }; // _deviceContext.Rasterizer.SetViewports(viewportf); // _deviceContext.OutputMerger.SetTargets(_renderTargetView); //} _spriteEngine = new DXSprite(_device, _deviceContext); if (!_spriteEngine.Initialize()) { return(false); } // Initialise any resources required for overlay elements IntialiseElementResources(); _initialised = true; return(true); } finally { _initialising = false; } }
public bool Initialise(Device device, Texture2D renderTarget) { Debug.Assert(!_initialised); if (_initialising) return false; _initialising = true; try { _device = device; _renderTarget = renderTarget; try { _deviceContext = ToDispose(new DeviceContext(_device)); } catch (SharpDXException) { _deviceContext = _device.ImmediateContext; } _renderTargetView = ToDispose(new RenderTargetView(_device, _renderTarget)); //if (DeferredContext) //{ // ViewportF[] viewportf = { new ViewportF(0, 0, _renderTarget.Description.Width, _renderTarget.Description.Height, 0, 1) }; // _deviceContext.Rasterizer.SetViewports(viewportf); // _deviceContext.OutputMerger.SetTargets(_renderTargetView); //} _spriteEngine = new DXSprite(_device, _deviceContext); if (!_spriteEngine.Initialize()) return false; // Initialise any resources required for overlay elements IntialiseElementResources(); _initialised = true; return true; } finally { _initialising = false; } }