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 |
|---|---|
|
La ressource génère automatiquement des mipmaps. Voir génération automatique de des mipmaps (Direct3D 9). La génération automatique de des mipmaps n’est pas prise en charge pour les textures de volume et les surfaces/textures du stencil de profondeur. Cette utilisation n’est pas valide pour une ressource dans la mémoire système (D3DPOOL _ SYSTEMMEM). |
|
La ressource sera une mémoire tampon de stencil de profondeur. D3DUSAGE _ DEPTHSTENCIL peut uniquement être utilisé avec D3DPOOL _ par défaut. |
|
La ressource sera un mappage de déplacement. |
|
Défini 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 pour lesquelles cet indicateur est défini, l’état de rendu du _ découpage D3DRS doit avoir la valeur false. |
|
Défini pour indiquer que la mémoire tampon de vertex requiert l’utilisation de la mémoire dynamique. Cela est utile pour les pilotes, car cela 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’y a pas d’utilisation statique distincte. Si vous ne spécifiez pas D3DUSAGE _ dynamique, la mémoire tampon de vertex est rendue statique. D3DUSAGE _ DYNAMIC est strictement appliqué via les indicateurs de verrouillage D3DLOCK _ Discard et 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. Il ne s’agit pas d’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 mémoires tampons de vertex dynamiques, consultez optimisation des performances (Direct3D 9). D3DUSAGE _ Les éléments _ managés dynamiques et D3DPOOL sont incompatibles et ne doivent pas être utilisés ensemble. Consultez D3DPOOL. Les textures peuvent spécifier D3DUSAGE _ dynamique. Toutefois, les textures managées ne peuvent pas utiliser D3DUSAGE _ Dynamic. Pour plus d’informations sur les textures dynamiques, consultez utilisation de textures dynamiques. |
|
Autoriser l’ouverture d’une surface partagée créée par une application sécurisée par une application non sécurisée ayant le descripteur partagé. Différences entre Direct3D 9 et Direct3D 9Ex : Cet indicateur est disponible uniquement dans Direct3D 9Ex. |
|
Défini pour indiquer que la mémoire tampon de vertex doit être utilisée pour le dessin des N-patchs. |
|
Défini pour indiquer que le sommet ou la mémoire tampon d’index sera utilisé 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. |
|
La ressource sera une cible de rendu. D3DUSAGE _ RENDERTARGET peut uniquement être utilisé avec D3DPOOL _ par défaut. |
|
Défini pour indiquer que la mémoire tampon de vertex doit être utilisée pour le dessin des primitives d’ordre supérieur. |
|
Si cet indicateur est utilisé, le traitement des vertex est effectué dans le logiciel. Si cet indicateur n’est pas utilisé, le traitement du vertex est effectué dans le matériel. L’indicateur D3DUSAGE _ SOFTWAREPROCESSING peut être défini lorsque le traitement en mode mixte ou le traitement du vertex logiciel (D3DCREATE _ Mixed _ VERTEXPROCESSING / D3DCREATE _ Software _ VERTEXPROCESSING) est activé pour cet appareil. D3DUSAGE _ SOFTWAREPROCESSING doit être défini pour les mémoires tampons à utiliser avec le traitement du vertex logiciel en mode mixte, mais il ne doit pas être défini pour obtenir les meilleures performances possibles lors de l’utilisation du traitement de l’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 du vertex matériel et logiciel. D3DUSAGE _ SOFTWAREPROCESSING est autorisé pour les périphériques 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 lors du traitement du vertex logiciel. Si c’est le cas, la texture doit être créée dans D3DPOOL _ Scratch. |
|
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. T extures créé avec cet indicateur d’utilisation ne peut pas être utilisé pour le filtrage de texture. 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. |
|
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 D3DPOOL _ par défaut qui ne spécifient pas D3DUSAGE _ WRITEONLY peuvent entraîner une baisse importante des performances. D3DUSAGE _ WRITEONLY affecte uniquement les performances des mémoires tampons _ par défaut D3DPOOL . |
|
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. |
|
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. |
|
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. |
Notes
Combinaisons d’utilisation et 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.
| Usage | Création de la mémoire tampon de vertex | Création de la mémoire tampon d’index | Création de texture | Création de texture de cube | Création de texture de volume | Création de surface | Vérifier le format du périphérique |
|---|---|---|---|---|---|---|---|
| D3DUSAGE _ AUTOGENMIPMAP | x | x | x | ||||
| D3DUSAGE _ DEPTHSTENCIL | x | x | x | x | |||
| D3DUSAGE _ DMAP | x | x | |||||
| D3DUSAGE _ DONOTCLIP | x | x | |||||
| D3DUSAGE _ dynamique | x | x | x | x | x | x | |
| D3DUSAGE _ non sécurisé | x | x | x | x | x | x | x |
| D3DUSAGE _ NPATCHES | x | x | |||||
| POINTS de D3DUSAGE _ | 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 vérifier la prise en charge matérielle de ces utilisations.
Chaque méthode de création de ressource est répertoriée ici.
- CreateCubeTexture
- CreateDepthStencilSurface
- CreateIndexBuffer
- CreateOffscreenPlainSurface
- CreateRenderTarget
- CreateTexture
- CreateVertexBuffer
- CreateVolumeTexture
Les fonctions de texturation 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 |
|