2016-05-18 1 views
0

Est-ce possible? L'idée est de rendre une scène comme une webcam virtuelle (la webcam virtuelle elle-même est la partie triviale). Mon travail est basé sur l'exemple PushSource du SDK DirectShow et sur l'exemple de jeu D3D11.Rendu sans fenêtre Direct3D 11 vers DIB (pour utilisation dans IMediaSample en amont)

Je sais que je peux déjà copier les octets DIB vers le pointeur fourni par l'exemple IMediaStream, mais est-il possible de l'utiliser comme une cible de rendu? Ou est-ce que je ferais mieux d'éteindre l'écran et de verrouiller une cible de rendu D3D et de copier ses octets? Et si oui, comment initialiser Direct3D correctement pour cela? Et comment puis-je convertir les octets rect locked au format approprié?

EDIT: Donc, j'ai compris la partie de rendu sans fenêtre. Ma prochaine question est de savoir si je peux définir ce pointeur sur la DIB en tant que cible de rendu, et sinon, comment puis-je convertir mon D3D11Texture2D en un format utilisable?

Répondre