/// <summary> /// Invalidates entire D3DImage area /// </summary> private void InvalidateD3DImage() { m_d3DImageEx.Lock(); m_d3DImageEx.AddDirtyRect(new Int32Rect() { X = 0, Y = 0, Height = m_d3DImageEx.PixelHeight, Width = m_d3DImageEx.PixelWidth }); m_d3DImageEx.Unlock(); }
/// <summary> /// Invalidates entire D3DImage area /// </summary> private void InvalidateD3DImage() { d3dImage.Lock(); d3dImage.AddDirtyRect(new Int32Rect() { X = 0, Y = 0, Height = d3dImage.PixelHeight, Width = d3dImage.PixelWidth }); d3dImage.Unlock(); }
private void OnRendering(object sender, EventArgs e) { var args = (RenderingEventArgs)e; if (args.RenderingTime == _last) { return; } _last = args.RenderingTime; var renderer = Model.Renderer; if (_imageEx == null || renderer == null) { return; } if (renderer.Draw()) { _lastTarget = IntPtr.Zero; } var target = renderer.GetRenderTarget(); if (target != _lastTarget || _setCount < 3) { _imageEx.SetBackBufferEx(D3DResourceTypeEx.ID3D11Texture2D, target); _setCount++; _lastTarget = target; } _imageEx.Lock(); _imageEx.AddDirtyRect(new Int32Rect { X = 0, Y = 0, Height = _imageEx.PixelHeight, Width = _imageEx.PixelWidth }); _imageEx.Unlock(); }