D3DUSAGE

Options d’utilisation qui identifient la façon dont les ressources doivent être utilisées.

Le tableau suivant récapitule les options d’utilisation disponibles.

Constante Description
D3DUSAGE_AUTOGENMIPMAP
La ressource génère automatiquement des mipmaps. Consultez Génération automatique de Mipmaps (Direct3D 9). La génération automatique de mipmaps n’est pas prise en charge pour les textures de volume et les surfaces/textures de gabarit de profondeur. Cette utilisation n’est pas valide pour une ressource dans la mémoire système (D3DPOOL_SYSTEMMEM).
D3DUSAGE_DEPTHSTENCIL
La ressource sera une mémoire tampon de gabarit de profondeur. D3DUSAGE_DEPTHSTENCIL ne peut être utilisé qu’avec D3DPOOL_DEFAULT.
D3DUSAGE_DMAP
La ressource sera une carte de déplacement.
D3DUSAGE_DONOTCLIP
Définissez pour indiquer que le contenu de la mémoire tampon de vertex ne nécessitera jamais de découpage. Lors du rendu avec des mémoires tampons qui ont ce jeu d’indicateurs, l’état de rendu D3DRS_CLIPPING doit être défini sur false.
D3DUSAGE_DYNAMIC
Définissez pour indiquer que la mémoire tampon de vertex nécessite une utilisation dynamique de la mémoire. Cela est utile pour les pilotes, car il leur permet de décider où placer la mémoire tampon. En général, les tampons de vertex statiques sont placés dans la mémoire vidéo et les tampons de vertex dynamiques sont placés dans la mémoire AGP. Notez qu’il n’existe aucune utilisation statique distincte. Si vous ne spécifiez pas D3DUSAGE_DYNAMIC, la mémoire tampon de vertex est rendue statique. D3DUSAGE_DYNAMIC est strictement appliqué par le biais des indicateurs de verrouillage D3DLOCK_DISCARD et D3DLOCK_NOOVERWRITE . Par conséquent, les D3DLOCK_DISCARD et les D3DLOCK_NOOVERWRITE sont valides uniquement sur les tampons de vertex créés avec D3DUSAGE_DYNAMIC. Il ne s’agit pas d’indicateurs valides sur les tampons de vertex statiques. Pour plus d’informations, consultez Gestion des ressources (Direct3D 9).
Pour plus d’informations sur l’utilisation de tampons de vertex dynamiques, consultez Optimisations des performances (Direct3D 9).
D3DUSAGE_DYNAMIC et D3DPOOL_MANAGED sont incompatibles et ne doivent pas être utilisés ensemble. Consultez D3DPOOL.
Les textures peuvent spécifier D3DUSAGE_DYNAMIC. Toutefois, les textures managées ne peuvent pas utiliser D3DUSAGE_DYNAMIC. Pour plus d’informations sur les textures dynamiques, consultez Utilisation de textures dynamiques.
D3DUSAGE_NONSECURE
Autoriser l’ouverture d’une surface partagée créée par une application sécurisée par une application non sécurisée qui possède le handle partagé.
Différences entre Direct3D 9 et Direct3D 9Ex : Cet indicateur est disponible dans Direct3D 9Ex uniquement.
D3DUSAGE_NPATCHES
Défini pour indiquer que la mémoire tampon de vertex doit être utilisée pour dessiner des N-patchs.
D3DUSAGE_POINTS
Défini pour indiquer que la mémoire tampon de vertex ou d’index sera utilisée pour dessiner des points sprites. La mémoire tampon est chargée dans la mémoire système si le traitement du vertex logiciel est nécessaire pour émuler les sprites de points.
D3DUSAGE_RENDERTARGET
La ressource sera une cible de rendu. D3DUSAGE_RENDERTARGET ne peut être utilisé qu’avec D3DPOOL_DEFAULT.
D3DUSAGE_RTPATCHES
Défini pour indiquer que la mémoire tampon de vertex doit être utilisée pour dessiner des primitives d’ordre élevé.
D3DUSAGE_SOFTWAREPROCESSING
Si cet indicateur est utilisé, le traitement du vertex est effectué dans le logiciel. Si cet indicateur n’est pas utilisé, le traitement des vertex est effectué dans le matériel.
L’indicateur D3DUSAGE_SOFTWAREPROCESSING peut être défini lorsque le traitement en mode mixte ou au vertex logiciel (D3DCREATE_MIXED_VERTEXPROCESSING / D3DCREATE_SOFTWARE_VERTEXPROCESSING) est activé pour cet appareil. D3DUSAGE_SOFTWAREPROCESSING doit être défini pour que les mémoires tampons soient utilisées avec le traitement du vertex logiciel en mode mixte, mais elle ne doit pas être définie pour les meilleures performances possibles lors de l’utilisation du traitement d’index matériel en mode mixte (D3DCREATE_HARDWARE_VERTEXPROCESSING). Toutefois, la définition de D3DUSAGE_SOFTWAREPROCESSING est la seule option quand une mémoire tampon unique est utilisée avec le traitement du vertex matériel et logiciel. D3DUSAGE_SOFTWAREPROCESSING est autorisé pour les appareils mixtes et logiciels.
D3DUSAGE_SOFTWAREPROCESSING est utilisé avec CheckDeviceFormat pour déterminer si un format de texture particulier peut être utilisé comme texture de vertex pendant le traitement du vertex logiciel. Si possible, la texture doit être créée dans D3DPOOL_SCRATCH.
D3DUSAGE_TEXTAPI
Cet indicateur d’utilisation doit être spécifié pour les tampons de vertex et les surfaces sources, utilisés dans les appels à ComposeRects. Les extures T créées avec cet indicateur d’utilisation ne peuvent pas être utilisées pour le filtrage de texture. Les tampons de vertex, créés avec cet indicateur d’utilisation, ne peuvent pas être utilisés comme sources de flux d’entrée.
Différences entre Direct3D 9 et Direct3D 9Ex : Cet indicateur est disponible dans Direct3D 9Ex uniquement.
D3DUSAGE_WRITEONLY
Informe le système que l’application écrit uniquement dans la mémoire tampon de vertex. L’utilisation de cet indicateur permet au pilote de choisir le meilleur emplacement de mémoire pour des opérations d’écriture et un rendu efficaces. Les tentatives de lecture à partir d’une mémoire tampon de vertex créée avec cette fonctionnalité échouent. Les mémoires tampons créées avec des D3DPOOL_DEFAULT qui ne spécifient pas D3DUSAGE_WRITEONLY peuvent subir une sévère pénalité de performances. D3DUSAGE_WRITEONLY affecte uniquement les performances des mémoires tampons D3DPOOL_DEFAULT.
D3DUSAGE_RESTRICTED_CONTENT
La définition de cet indicateur indique que la ressource peut contenir du contenu protégé.
Différences entre Direct3D 9 et Direct3D 9Ex : Cet indicateur est disponible dans Direct3D 9Ex uniquement.
D3DUSAGE_RESTRICT_SHARED_RESOURCE
La définition de cet indicateur indique que l’accès à la ressource partagée doit être restreint.
Différences entre Direct3D 9 et Direct3D 9Ex : Cet indicateur est disponible dans Direct3D 9Ex uniquement.
D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER
La définition de cet indicateur indique que le pilote doit restreindre l’accès à la ressource partagée. L’appelant doit créer un canal authentifié avec le pilote. Le pilote doit ensuite autoriser l’accès aux processus qui tentent d’ouvrir cette ressource partagée.
Différences entre Direct3D 9 et Direct3D 9Ex : Cet indicateur est disponible dans Direct3D 9Ex uniquement.

Notes

Utilisation et combinaisons de ressources

Les utilisations sont spécifiées lors de la création d’une ressource ou spécifiées avec CheckDeviceType pour tester la capacité d’une ressource existante. Le tableau suivant identifie les utilisations qui peuvent être appliquées aux types de ressources.

Utilisation Création d’une mémoire tampon vertex Créer une mémoire tampon d’index Création de texture Création de texture de cube Création de texture de volume Surface create Vérifier le format de l’appareil
D3DUSAGE_AUTOGENMIPMAP x x x
D3DUSAGE_DEPTHSTENCIL x x x x
D3DUSAGE_DMAP x x
D3DUSAGE_DONOTCLIP x x
D3DUSAGE_DYNAMIC x x x x x x
D3DUSAGE_NONSECURE x x x x x x x
D3DUSAGE_NPATCHES x x
D3DUSAGE_POINTS x x
D3DUSAGE_RTPATCHES x x
D3DUSAGE_RENDERTARGET x x x x
D3DUSAGE_SOFTWAREPROCESSING x x x x x x
D3DUSAGE_TEXTAPI x x
D3DUSAGE_WRITEONLY x x

 

Utilisez CheckDeviceFormat pour case activée la prise en charge matérielle de ces utilisations.

Chacune des méthodes de création de ressources est répertoriée ici.

Les fonctions de texturing D3DXCreatexxx utilisent également certaines de ces valeurs constantes pour la création de ressources.

Pour plus d’informations sur les types de pool et leurs restrictions avec certaines utilisations, consultez D3DPOOL.

Spécifications

Condition requise Valeur
En-tête
D3d9types.h

Voir aussi

Constantes Direct3D

D3DUSAGE_QUERY

D3DDECLUSAGE

D3DPOOL