Bonjour,
avec DirectX9, il y avait une fonction très utile "GetRenderTargetData" qui permettait de récupérer le buffer écran dans une texture, puis de récupérer le contenu de la texture dans un buffer.
avec DirectX 10, cette fonction n'existe plus.
On doit utiliser la méthode "CopyResource" qui effectue une copie d'une ressource vers une autre. La source est bien entendu le backbuffer, et la destination est une texture en mode STAGING afin qu'elle puisse être lue par le CPU.
Une fois que la copie est effectuée, on peut effectuer un "map" sur la texture pour récupérer son contenu dans un buffer.
Tout semble fonctionner correctement, SAUF que la fontion "CopyResource" ne fonctionne pas pour les resources utilisant le multisampling !
La MSDN précise que cette fonctionnalité de copie avec multisampling sera ajoutée dans DX 10.1 mais est indisponible pour le moment....
Effectivement, ça ne fonctionne pas...
Alors, comment faites-vous pour effectuer un screenshot d'une scène multi-samplée en DX10 ??
Je n'ai pas trouvé de solution... Je suis preneur de toute piste !
Merci pour votre aide.
Cdt,
Pacôme
Partager