Propriétés de ressource (Direct3D 9)
Toutes les ressources partagent les propriétés suivantes.
- Usage. La façon dont une ressource est utilisée, par exemple, en tant que texture ou cible de rendu.
- Format. Format des données, par exemple le format de pixel d’une surface 2D.
- Mare. Type de mémoire où la ressource est allouée.
- Type. Type de ressource, par exemple, une mémoire tampon de vertex ou une cible de rendu.
Les utilisations des ressources sont appliquées. Une application qui utilisera une ressource dans une certaine opération doit spécifier cette opération au moment de la création des ressources. Pour obtenir la liste des constantes d’utilisation définies pour les ressources, consultez D3DUSAGE.
Les constantes D3DUSAGE_RTPATCHES, D3DUSAGE_NPATCHES et D3DUSAGE_POINTS indiquent au pilote que les données de ces mémoires tampons sont susceptibles d’être utilisées pour les correctifs triangulaires ou de grille, les correctifs N ou les sprites de point, respectivement. Ces indicateurs sont fournis si le matériel ne peut pas effectuer ces opérations sans traitement hôte. Par conséquent, le pilote souhaite allouer ces surfaces en mémoire système afin que le processeur puisse y accéder. Si le pilote peut effectuer ces opérations entièrement dans le matériel, il peut allouer ces surfaces en mémoire vidéo ou AGP pour éviter une copie hôte et améliorer les performances au moins deux fois. Notez que les informations fournies par ces indicateurs ne sont pas absolument requises. Un pilote peut détecter que de telles opérations sont effectuées sur les données et déplacent la mémoire tampon vers la mémoire système pour les images suivantes.
Pour plus d’informations sur les indicateurs d’utilisation et leur relation avec des ressources spécifiques, consultez les pages de référence sur les méthodes de création de ressources individuelles.
Pour plus d’informations sur le format de surface des ressources, consultez la D3DFORMAT type énuméré.
La classe de mémoire qui contient les mémoires tampons d’une ressource est appelée pool. Les valeurs de pool sont définies par le type énuméré D3DPOOL. Un pool ne peut pas être mixte pour différents objets contenus dans une seule ressource, c’est-à-dire les niveaux mip dans un mipmap et, lorsqu’un pool est choisi pour une ressource, le pool ne peut pas être modifié.
Les types de ressources sont définis implicitement au moment de l’exécution lorsque l’application appelle une méthode de création de ressource telle que IDirect3DDevice9 ::CreateCubeTexture. Les types de ressources sont définis par le type énuméré D3DRESOURCETYPE. Les applications peuvent interroger ces types au moment de l’exécution ; Toutefois, il est prévu que la plupart des scénarios ne nécessitent pas de vérification de type au moment de l’exécution.
Rubriques connexes