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. 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). |
|
La ressource sera une mémoire tampon de gabarit de profondeur.
D3DUSAGE_DEPTHSTENCIL ne peut être utilisé qu’avec D3DPOOL_DEFAULT. |
|
La ressource sera une carte de déplacement. |
|
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. |
|
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. |
|
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. |
|
Défini pour indiquer que la mémoire tampon de vertex doit être utilisée pour dessiner des N-patchs. |
|
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. |
|
La ressource sera une cible de rendu.
D3DUSAGE_RENDERTARGET ne peut être utilisé qu’avec D3DPOOL_DEFAULT. |
|
Défini pour indiquer que la mémoire tampon de vertex doit être utilisée pour dessiner des primitives d’ordre élevé. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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.
- CreateCubeTexture
- CreateDepthStencilSurface
- CreateIndexBuffer
- CreateOffscreenPlainSurface
- CreateRenderTarget
- CreateTexture
- CreateVertexBuffer
- CreateVolumeTexture
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 |
|
Voir aussi