Delen via


D3DUSAGE

Gebruiksopties die bepalen hoe resources moeten worden gebruikt.

De volgende tabel bevat een overzicht van de beschikbare gebruiksopties.

Constante Beschrijving
D3DUSAGE_AUTOGENMIPMAP
De resource genereert automatisch mipmaps. Zie Automatische generatie mipmaps (Direct3D 9). Het automatisch genereren van mipmaps wordt niet ondersteund voor volumetextuur en dieptestenciloppervlakken/patronen. Dit gebruik is niet geldig voor een resource in het systeemgeheugen (D3DPOOL_SYSTEMMEM).
D3DUSAGE_DEPTHSTENCIL
De resource is een dieptestencilbuffer. D3DUSAGE_DEPTHSTENCIL kan alleen worden gebruikt met D3DPOOL_DEFAULT.
D3DUSAGE_DMAP
De resource is een verplaatsingskaart.
D3DUSAGE_DONOTCLIP
Ingesteld om aan te geven dat de inhoud van de hoekpuntbuffer nooit een knipsel nodig heeft. Bij het weergeven met buffers waarvoor deze vlag is ingesteld, moet de D3DRS_CLIPPING weergavestatus zijn ingesteld op onwaar.
D3DUSAGE_DYNAMIC
Ingesteld om aan te geven dat de hoekpuntbuffer dynamisch geheugengebruik vereist. Dit is handig voor stuurprogramma's omdat hiermee kan worden bepaald waar de buffer moet worden geplaatst. Over het algemeen worden statische hoekpuntbuffers in het videogeheugen geplaatst en worden dynamische hoekpuntbuffers in AGP-geheugen geplaatst. Houd er rekening mee dat er geen afzonderlijk statisch gebruik is. Als u geen D3DUSAGE_DYNAMIC opgeeft, wordt de hoekpuntbuffer statisch gemaakt. D3DUSAGE_DYNAMIC wordt strikt afgedwongen via de D3DLOCK_DISCARD en D3DLOCK_NOOVERWRITE vergrendelingsvlagmen. Als gevolg hiervan zijn D3DLOCK_DISCARD en D3DLOCK_NOOVERWRITE alleen geldig op hoekpuntbuffers die zijn gemaakt met D3DUSAGE_DYNAMIC. Het zijn geen geldige vlaggen op statische hoekpuntbuffers. Zie Resources beheren (Direct3D 9) voor meer informatie.
Zie Performance Optimizations (Direct3D 9) voor meer informatie over het gebruik van dynamische hoekpuntbuffers.
D3DUSAGE_DYNAMIC en D3DPOOL_MANAGED zijn niet compatibel en mogen niet samen worden gebruikt. Zie D3DPOOL.
Patronen kunnen D3DUSAGE_DYNAMIC opgeven. Beheerde patronen kunnen echter geen D3DUSAGE_DYNAMIC gebruiken. Zie Dynamische patronen gebruiken voor meer informatie over dynamische patronen.
D3DUSAGE_NONSECURE
Sta toe dat een gedeeld oppervlak dat is gemaakt door een beveiligde toepassing, wordt geopend door een niet-beveiligde toepassing met de gedeelde ingang.
Verschillen tussen Direct3D 9 en Direct3D 9Ex: Deze vlag is alleen beschikbaar in Direct3D 9Ex.
D3DUSAGE_NPATCHES
Ingesteld om aan te geven dat de hoekpuntbuffer moet worden gebruikt voor het tekenen van N-patches.
D3DUSAGE_POINTS
Ingesteld om aan te geven dat het hoekpunt of de indexbuffer wordt gebruikt voor tekenpuntspites. De buffer wordt in het systeemgeheugen geladen als softwarepuntverwerking nodig is om puntspites te emuleren.
D3DUSAGE_RENDERTARGET
De resource is een renderdoel. D3DUSAGE_RENDERTARGET kan alleen worden gebruikt met D3DPOOL_DEFAULT.
D3DUSAGE_RTPATCHES
Ingesteld om aan te geven dat de hoekpuntbuffer moet worden gebruikt voor het tekenen van primitieven in hoge volgorde.
D3DUSAGE_SOFTWAREPROCESSING
Als deze vlag wordt gebruikt, wordt het verwerken van hoekpunten uitgevoerd in software. Als deze vlag niet wordt gebruikt, wordt het verwerken van hoekpunten uitgevoerd in hardware.
De vlag D3DUSAGE_SOFTWAREPROCESSING kan worden ingesteld wanneer mixed-mode of software hoekpuntverwerking (D3DCREATE_MIXED_VERTEXPROCESSING / D3DCREATE_SOFTWARE_VERTEXPROCESSING) is ingeschakeld voor dat apparaat. D3DUSAGE_SOFTWAREPROCESSING moet worden ingesteld voor buffers die moeten worden gebruikt met softwarepuntverwerking in de gemengde modus, maar deze mag niet worden ingesteld voor de best mogelijke prestaties bij het gebruik van hardwareindexverwerking in de gemengde modus (D3DCREATE_HARDWARE_VERTEXPROCESSING). Het instellen van D3DUSAGE_SOFTWAREPROCESSING is echter de enige optie wanneer één buffer wordt gebruikt met zowel hardware- als softwarehoekverwerking. D3DUSAGE_SOFTWAREPROCESSING is toegestaan voor gemengde en softwareapparaten.
D3DUSAGE_SOFTWAREPROCESSING wordt gebruikt met CheckDeviceFormat om erachter te komen of een bepaalde textuurindeling kan worden gebruikt als een hoekpuntpatroon tijdens het verwerken van software-hoekpunten. Als dat mogelijk is, moet het patroon worden gemaakt in D3DPOOL_SCRATCH.
D3DUSAGE_TEXTAPI
Deze gebruiksvlag moet worden opgegeven voor hoekpuntbuffers en bronoppervlakken, die worden gebruikt in aanroepen naar ComposeRects. Patronen die zijn gemaakt met deze gebruiksvlag kunnen niet worden gebruikt voor het filteren van patronen. Hoekpuntbuffers, gemaakt met deze gebruiksvlag, kunnen niet worden gebruikt als invoerstroombronnen.
Verschillen tussen Direct3D 9 en Direct3D 9Ex: Deze vlag is alleen beschikbaar in Direct3D 9Ex.
D3DUSAGE_WRITEONLY
Informeert het systeem dat de toepassing alleen naar de hoekpuntbuffer schrijft. Met deze vlag kan het stuurprogramma de beste geheugenlocatie kiezen voor efficiënte schrijfbewerkingen en rendering. Pogingen om te lezen vanuit een hoekpuntbuffer die met deze mogelijkheid wordt gemaakt, mislukken. Buffers die zijn gemaakt met D3DPOOL_DEFAULT die geen D3DUSAGE_WRITEONLY opgeven, kunnen een zware prestatiestraf hebben. D3DUSAGE_WRITEONLY is alleen van invloed op de prestaties van D3DPOOL_DEFAULT buffers.
D3DUSAGE_RESTRICTED_CONTENT
Als u deze vlag instelt, wordt aangegeven dat de resource beveiligde inhoud kan bevatten.
Verschillen tussen Direct3D 9 en Direct3D 9Ex: Deze vlag is alleen beschikbaar in Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE
Als u deze vlag instelt, wordt aangegeven dat de toegang tot de gedeelde resource moet worden beperkt.
Verschillen tussen Direct3D 9 en Direct3D 9Ex: Deze vlag is alleen beschikbaar in Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER
Als u deze vlag instelt, wordt aangegeven dat het stuurprogramma de toegang tot de gedeelde resource moet beperken. De beller moet een geverifieerd kanaal maken met het stuurprogramma. Het stuurprogramma moet vervolgens toegang verlenen tot processen die proberen die gedeelde resource te openen.
Verschillen tussen Direct3D 9 en Direct3D 9Ex: Deze vlag is alleen beschikbaar in Direct3D 9Ex.

Opmerkingen

Combinaties van gebruik en resources

Gebruiksgegevens worden opgegeven wanneer een resource wordt gemaakt of opgegeven met CheckDeviceType om de mogelijkheid van een bestaande resource te testen. In de volgende tabel wordt aangegeven welke gebruiksrechten kunnen worden toegepast op welke resourcetypen.

Gebruik Hoekpuntbuffer maken Indexbuffer maken Patroon maken Kubuspatroon maken Volumepatroon maken Surface maken Apparaatindeling controleren
D3DUSAGE_AUTOGENMIPMAP Ja ja ja
D3DUSAGE_DEPTHSTENCIL Ja ja Ja ja
D3DUSAGE_DMAP ja ja
D3DUSAGE_DONOTCLIP ja
D3DUSAGE_DYNAMIC ja ja ja ja ja
D3DUSAGE_NONSECURE ja ja ja
D3DUSAGE_NPATCHES ja
D3DUSAGE_POINTS ja
D3DUSAGE_RTPATCHES ja
D3DUSAGE_RENDERTARGET Ja ja Ja ja
D3DUSAGE_SOFTWAREPROCESSING ja ja ja ja ja
D3DUSAGE_TEXTAPI ja ja
D3DUSAGE_WRITEONLY ja

 

Gebruik CheckDeviceFormat om de hardwareondersteuning voor dit gebruik te controleren.

Elk van de methoden voor het maken van resources wordt hier vermeld.

De texturingsfuncties D3DXCreatexxx gebruiken ook enkele van deze constante waarden voor het maken van resources.

Zie D3DPOOL voor meer informatie over groepstypen en hun beperkingen met bepaalde gebruiksgegevens.

Behoeften

Voorwaarde Waarde
Koptekst
D3d9types.h

Zie ook

Direct3D Constanten

D3DUSAGE_QUERY

D3DDECLUSAGE

D3DPOOL