2016-05-18 31 views
0

Ist das möglich? Die Idee besteht darin, eine Szene als virtuelle Webcam darzustellen (die virtuelle Webcam selbst ist der triviale Teil). Meine Arbeit basiert auf dem PushSource-Beispiel aus dem DirectShow SDK und dem D3D11-Spielbeispiel.Direct3D 11 fensterloses Rendering auf DIB (für IMediaSample Upstream)

Ich weiß, ich kann die DIB-Bytes bereits in den Zeiger von IMediaStream Beispiel kopieren, aber gibt es eine Möglichkeit, das als Renderziel zu verwenden? Oder bin ich einfach besser dran, wenn ich irgendwie außerhalb des Bildschirms rendere und ein D3D-Renderziel sperre und seine Bytes über kopiere? Und wenn ja, wie initialisiere ich Direct3D dafür richtig? Und wie konvertiere ich die gesperrten Rect-Bytes in das richtige Format?

EDIT: Also, ich habe den fensterlosen Rendering-Teil herausgefunden. Meine nächste Frage ist, kann ich diesen Zeiger auf die DIB als Renderziel setzen, und wenn nicht, dann würde ich über das Umwandeln meiner D3D11Texture2D in ein verwendbares Format gehen?

Antwort