Вы, вероятно, нашли свой ответ за последние полгода, но вот как конвертировать D3DImage в WPF в BitmapSource (в данном случае я использовал vb.net):
Public Function GetCurrentImage() As BitmapSource
Dim width As Integer = D3DImage.PixelWidth
Dim height As Integer = D3DImage.PixelHeight
Dim dv As New DrawingVisual()
Using dc As DrawingContext = dv.RenderOpen()
dc.DrawImage(D3DImage, New Rect(0, 0, width, height))
End Using
Dim rtb As New RenderTargetBitmap(width, height, 96, 96, PixelFormats.Pbgra32)
rtb.Render(dv)
Return BitmapFrame.Create(rtb)
End Function
Вы можете найти его вC # в WPFMediaKit.