Manipulation de ressources (Direct3D 9)
Votre application manipule des ressources pour afficher une scène. Tout d’abord, une application doit créer une ressource de texture avec l’une des méthodes suivantes :
- IDirect3DDevice9::CreateCubeTexture
- IDirect3DDevice9::CreateTexture
- IDirect3DDevice9::CreateVolumeTexture
Une ressource de texture peut être créée à la place avec l’une des fonctions de texturing D3DXCreatexxx.
Les objets de texture retournés par les méthodes de création de textures sont des conteneurs pour des surfaces ou des volumes ; ces conteneurs sont génériques appelés tampons. Les mémoires tampons appartenant à la ressource héritent des utilisations, du format et du pool de la ressource, mais ont leur propre type. Pour plus d’informations, consultez Propriétés des ressources (Direct3D 9).
L’application obtient l’accès aux surfaces contenues, pour le chargement de l’illustration, en appelant les méthodes suivantes. Pour plus d’informations, consultez Verrouillage des ressources (Direct3D 9).
Les méthodes de verrouillage prennent des arguments indiquant la surface contenue (par exemple, le sous-niveau mipmap ou la face du cube de la texture) et retournent des pointeurs vers les pixels. L’application classique n’utilise jamais d’objet surface directement.
Créez des ressources géométriques en appelant IDirect3DDevice9::CreateIndexBuffer ou IDirect3DDevice9::CreateVertexBuffer.
Verrouillez et remplissez les ressources de mémoire tampon en appelant IDirect3DIndexBuffer9::Lock ou IDirect3DVertexBuffer9::Lock, selon la ressource.
Pour les ressources de texture managée, le processus de création de ressources se termine ici. Pour les ressources de texture non managées, une application promeut les ressources de mémoire système en ressources accessibles par les appareils (pour l’accélération matérielle) en appelant IDirect3DDevice9::UpdateTexture.
Pour présenter des images rendues à partir de ressources, l’application a également besoin de mémoires tampons de couleur et de gabarit de profondeur. Pour les applications classiques, la mémoire tampon de couleur appartient à la chaîne d’échange de l’appareil, qui est une collection de surfaces de mémoire tampon d’arrière-plan, et est implicitement créée avec l’appareil. Les surfaces de gabarit de profondeur peuvent être créées implicitement ou explicitement à l’aide de la méthode IDirect3DDevice9::CreateDepthStencilSurface . L’application associe un appareil et sa mémoire tampon de profondeur et de couleur à un appel à IDirect3DDevice9::SetRenderTarget ou IDirect3DDevice9::SetDepthStencilSurface.
Pour plus d’informations sur la présentation de l’image finale, consultez Présentation d’une scène (Direct3D 9).
Rubriques connexes