Manipulation des ressources (Direct3D 9)
Votre application manipule les ressources afin d’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 texturation D3DXCreatexxx.
Les objets de texture retournés par les méthodes de création de texture sont des conteneurs pour les surfaces ou les volumes ; ces conteneurs sont génériquement appelés mémoires tampons. Les mémoires tampons détenues par 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, à des fins de chargement d’illustrations, en appelant les méthodes suivantes. Pour plus d’informations, consultez verrouillage des ressources (Direct3D 9).
Les méthodes Lock acceptent les arguments qui dénotent la surface contenue (par exemple, la face du sous-niveau ou du cube mipmap des pointeurs de texture et de retour aux pixels). L’application typique n’utilise jamais directement un objet surface.
Créez des ressources orientées géométrie en appelant IDirect3DDevice9 :: CreateIndexBuffer ou IDirect3DDevice9 :: CreateVertexBuffer.
Verrouillez et remplissez les ressources de mémoire tampon en appelant IDirect3DIndexBuffer9 :: Lock ou IDirect3DVertexBuffer9 :: Lock, en fonction de la ressource.
Pour les ressources de texture managée, le processus de création de ressource se termine ici. Pour les ressources de texture non managées, une application promeut des ressources mémoire système vers des ressources accessibles par l’appareil (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 stencil de couleur et de profondeur. Pour les applications classiques, la mémoire tampon de couleur appartient à la chaîne de permutation 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 stencil de profondeur peuvent être créées implicitement ou explicitement créées à 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).