Partager via


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 Descriptif
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 en 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écessite jamais de découpage. Lors du rendu avec des mémoires tampons dont cet indicateur est défini, 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 mémoires tampons de vertex statiques sont placées dans la mémoire vidéo et les mémoires tampons de vertex dynamiques sont placées 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 de D3DLOCK_NOOVERWRITE . Par conséquent, D3DLOCK_DISCARD et D3DLOCK_NOOVERWRITE sont valides uniquement sur les mémoires tampons de vertex créées avec D3DUSAGE_DYNAMIC. Ils ne sont pas des indicateurs valides sur les mémoires 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. Voir 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 disposant du handle partagé.
Différences entre Direct3D 9 et Direct3D 9Ex : Cet indicateur est disponible uniquement dans Direct3D 9Ex.
D3DUSAGE_NPATCHES
Défini pour indiquer que la mémoire tampon de vertex doit être utilisée pour dessiner des correctifs N.
D3DUSAGE_POINTS
Définissez pour indiquer que la mémoire tampon de vertex ou d’index sera utilisée pour les sprites de point de dessin. 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 point.
D3DUSAGE_RENDERTARGET
La ressource sera une cible de rendu. D3DUSAGE_RENDERTARGET ne peut être utilisé qu’avec D3DPOOL_DEFAULT.
D3DUSAGE_RTPATCHES
Définissez pour indiquer que la mémoire tampon de vertex doit être utilisée pour dessiner des primitives à ordre élevé.
D3DUSAGE_SOFTWAREPROCESSING
Si cet indicateur est utilisé, le traitement du vertex est effectué dans les logiciels. Si cet indicateur n’est pas utilisé, le traitement du vertex est effectué dans le matériel.
L’indicateur de D3DUSAGE_SOFTWAREPROCESSING peut être défini lorsque le traitement de vertex en mode mixte ou logiciel (D3DCREATE_MIXED_VERTEXPROCESSING D3DCREATE_SOFTWARE_VERTEXPROCESSING / ) est activé pour cet appareil. D3DUSAGE_SOFTWAREPROCESSING devez être défini pour que les mémoires tampons soient utilisées avec le traitement de vertex logiciels en mode mixte, mais elles ne doivent pas être définies pour obtenir 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 lorsqu’une seule mémoire tampon est utilisée avec le traitement de 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 mémoires tampons de vertex et les surfaces sources, utilisées dans les appels à ComposeRects. Les textures créées avec cet indicateur d’utilisation ne peuvent pas être utilisées pour le filtrage de textures. Les mémoires tampons de vertex, créées avec cet indicateur d’utilisation, ne peuvent pas être utilisées comme sources de flux d’entrée.
Différences entre Direct3D 9 et Direct3D 9Ex : Cet indicateur est disponible uniquement dans Direct3D 9Ex.
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 les opérations d’écriture et le 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 D3DPOOL_DEFAULT qui ne spécifient pas D3DUSAGE_WRITEONLY peuvent subir une pénalité de performances grave. 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 uniquement dans Direct3D 9Ex.
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 uniquement dans Direct3D 9Ex.
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 uniquement dans Direct3D 9Ex.

Remarques

Combinaisons d’utilisation et de ressources

Les utilisations sont spécifiées lorsqu’une ressource est créée ou spécifiée 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 de vertex Création d’une mémoire tampon d’index Création de texture Création de texture de cube Création de texture de volume Création d’une surface Vérifier le format de l’appareil
D3DUSAGE_AUTOGENMIPMAP Oui, oui oui
D3DUSAGE_DEPTHSTENCIL Oui, oui Oui, oui
D3DUSAGE_DMAP oui oui
D3DUSAGE_DONOTCLIP oui oui
D3DUSAGE_DYNAMIC oui oui oui oui oui oui
D3DUSAGE_NONSECURE oui
D3DUSAGE_NPATCHES oui oui
D3DUSAGE_POINTS oui oui
D3DUSAGE_RTPATCHES oui oui
D3DUSAGE_RENDERTARGET Oui, oui Oui, oui
D3DUSAGE_SOFTWAREPROCESSING oui oui oui oui oui oui
D3DUSAGE_TEXTAPI oui oui
D3DUSAGE_WRITEONLY oui oui

 

Utilisez CheckDeviceFormat pour vérifier 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 texte 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

Besoin Valeur
En-tête de page
D3d9types.h

Voir aussi

constantes Direct3D

D3DUSAGE_QUERY

D3DDECLUSAGE

D3DPOOL