private void Window_Loaded(object sender, RoutedEventArgs e) { if (_enableOverlay) { _d3DImageEx = new D3DImageEx(); _D3D11Scene = new D3D11TestScene(1920, 1080); d3dScene.Source = _d3DImageEx; /* Set the backbuffer, which is a ID3D11Texture2D pointer */ var renderTarget = _D3D11Scene.GetRenderTarget(); var backBuffer = _d3DImageEx.CreateBackBuffer(D3DResourceTypeEx.ID3D11Texture2D, renderTarget); _d3DImageEx.Lock(); _d3DImageEx.SetBackBuffer(D3DResourceType.IDirect3DSurface9, backBuffer, _enableSoftwareFallback); _d3DImageEx.Unlock(); _playback = new Playback(IntPtr.Zero, _enableOverlay); _playback.OnDrawSignalReceived += VideoSink_OnBeginDraw; CompositionTarget.Rendering += CompositionTarget_Rendering; } else { var windowHandle = new WindowInteropHelper(System.Windows.Application.Current.MainWindow).Handle; _playback = new Playback(windowHandle, _enableOverlay); } }
private void Window_Loaded(object sender, RoutedEventArgs e) { if (_enableOverlay) { _d3DImageEx = new D3DImageEx(); d3dScene.Source = _d3DImageEx; _D3D11Scene = new D3D11TestScene(); /* Set the backbuffer, which is a ID3D11Texture2D pointer */ var renderTarget = _D3D11Scene.GetRenderTarget(); _d3DImageEx.SetBackBufferEx(D3DResourceTypeEx.ID3D11Texture2D, renderTarget); CompositionTarget.Rendering += CompositionTarget_Rendering; Playback playback = new Playback(renderTarget, _enableOverlay); playback.OnDrawSignalReceived += VideoSink_OnBeginDraw; } else { var windowHandle = new WindowInteropHelper(System.Windows.Application.Current.MainWindow).Handle; Playback playback = new Playback(windowHandle, _enableOverlay); } }