Share via


D3DUSAGE

Opzioni di utilizzo che identificano il modo in cui usare le risorse.

La tabella seguente riepiloga le opzioni di utilizzo disponibili.

Costante Descrizione
D3DUSAGE_AUTOGENMIPMAP
La risorsa genererà automaticamente mipmap. Vedere Generazione automatica di Mipmaps (Direct3D 9). La generazione automatica di mipmaps non è supportata per trame di volumi e superfici/trame di profondità. Questo utilizzo non è valido per una risorsa nella memoria di sistema (D3DPOOL_SYSTEMMEM).
D3DUSAGE_DEPTHSTENCIL
La risorsa sarà un buffer di stencil di profondità. D3DUSAGE_DEPTHSTENCIL può essere usato solo con D3DPOOL_DEFAULT.
D3DUSAGE_DMAP
La risorsa sarà una mappa di spostamento.
D3DUSAGE_DONOTCLIP
Impostare per indicare che il contenuto del buffer del vertice non richiederà mai il ritaglio. Quando si esegue il rendering con buffer con questo flag impostato, è necessario impostare lo stato di rendering D3DRS_CLIPPING su false.
D3DUSAGE_DYNAMIC
Impostare per indicare che il buffer del vertice richiede l'uso di memoria dinamica. Ciò è utile per i driver perché consente loro di decidere dove posizionare il buffer. In generale, i buffer dei vertici statici vengono posizionati nella memoria video e i buffer dei vertici dinamici vengono inseriti nella memoria AGP. Si noti che non esiste un uso statico separato. Se non si specifica D3DUSAGE_DYNAMIC, il buffer del vertice viene reso statico. D3DUSAGE_DYNAMIC viene rigorosamente applicato tramite i flag di blocco D3DLOCK_DISCARD e D3DLOCK_NOOVERWRITE . Di conseguenza, D3DLOCK_DISCARD e D3DLOCK_NOOVERWRITE sono validi solo nei buffer dei vertici creati con D3DUSAGE_DYNAMIC. Non sono flag validi nei buffer dei vertici statici. Per altre informazioni, vedere Gestione delle risorse (Direct3D 9).
Per altre informazioni sull'uso dei buffer dei vertici dinamici, vedere Ottimizzazioni delle prestazioni (Direct3D 9).
D3DUSAGE_DYNAMIC e D3DPOOL_MANAGED non devono essere usati insieme. Vedere D3DPOOL.
Le trame possono specificare D3DUSAGE_DYNAMIC. Tuttavia, le trame gestite non possono usare D3DUSAGE_DYNAMIC. Per altre informazioni sulle trame dinamiche, vedere Uso di trame dinamiche.
D3DUSAGE_NONSECURE
Consentire l'apertura di una superficie condivisa creata da un'applicazione sicura da un'applicazione non sicura con handle condiviso.
Differenze tra Direct3D 9 e Direct3D 9Ex: Questo flag è disponibile solo in Direct3D 9Ex.
D3DUSAGE_NPATCHES
Impostare per indicare che il buffer del vertice deve essere usato per il disegno di patch N.
D3DUSAGE_POINTS
Impostare per indicare che il vertice o il buffer di indice verranno usati per le sprite dei punti di disegno. Il buffer verrà caricato nella memoria di sistema se è necessaria l'elaborazione del vertice software per emulare gli sprite dei punti.
D3DUSAGE_RENDERTARGET
La risorsa sarà una destinazione di rendering. D3DUSAGE_RENDERTARGET può essere usato solo con D3DPOOL_DEFAULT.
D3DUSAGE_RTPATCHES
Impostare per indicare che il buffer del vertice deve essere usato per il disegno di primitive ad ordine elevato.
D3DUSAGE_SOFTWAREPROCESSING
Se questo flag viene usato, l'elaborazione dei vertici viene eseguita nel software. Se questo flag non viene usato, l'elaborazione dei vertici viene eseguita nell'hardware.
Il flag di D3DUSAGE_SOFTWAREPROCESSING può essere impostato quando l'elaborazione dei vertici software o modalità mista (D3DCREATE_MIXED_VERTEXPROCESSING D3DCREATE_SOFTWARE_VERTEXPROCESSING / ) è abilitata per tale dispositivo. D3DUSAGE_SOFTWAREPROCESSING deve essere impostato per l'uso dei buffer con l'elaborazione dei vertici software in modalità mista, ma non deve essere impostato per le prestazioni ottimali quando si usa l'elaborazione dell'indice hardware in modalità mista (D3DCREATE_HARDWARE_VERTEXPROCESSING). Tuttavia, l'impostazione D3DUSAGE_SOFTWAREPROCESSING è l'unica opzione quando viene usato un singolo buffer con l'elaborazione del vertice hardware e software. D3DUSAGE_SOFTWAREPROCESSING è consentito per i dispositivi misti e software.
D3DUSAGE_SOFTWAREPROCESSING viene usato con CheckDeviceFormat per scoprire se un determinato formato di trama può essere usato come trama del vertice durante l'elaborazione del vertice software. Se può, la trama deve essere creata in D3DPOOL_SCRATCH.
D3DUSAGE_TEXTAPI
Questo flag di utilizzo deve essere specificato per i buffer dei vertici e le superfici di origine, usati nelle chiamate a ComposeRects. Le esture T create con questo flag di utilizzo non possono essere usate per il filtro della trama. I buffer vertex, creati con questo flag di utilizzo, non possono essere usati come origini di flusso di input.
Differenze tra Direct3D 9 e Direct3D 9Ex: Questo flag è disponibile solo in Direct3D 9Ex.
D3DUSAGE_WRITEONLY
Informa il sistema che l'applicazione scrive solo nel buffer del vertice. L'uso di questo flag consente al driver di scegliere la posizione di memoria migliore per operazioni di scrittura e rendering efficienti. I tentativi di lettura da un buffer dei vertici creati con questa funzionalità avranno esito negativo. I buffer creati con D3DPOOL_DEFAULT che non specificano D3DUSAGE_WRITEONLY possono subire una grave penalità delle prestazioni. D3DUSAGE_WRITEONLY influisce solo sulle prestazioni dei buffer di D3DPOOL_DEFAULT .
D3DUSAGE_RESTRICTED_CONTENT
L'impostazione di questo flag indica che la risorsa potrebbe contenere contenuto protetto.
Differenze tra Direct3D 9 e Direct3D 9Ex: Questo flag è disponibile solo in Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE
L'impostazione di questo flag indica che l'accesso alla risorsa condivisa deve essere limitato.
Differenze tra Direct3D 9 e Direct3D 9Ex: Questo flag è disponibile solo in Direct3D 9Ex.
D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER
L'impostazione di questo flag indica che il driver deve limitare l'accesso alla risorsa condivisa. Il chiamante deve creare un canale autenticato con il driver. Il driver deve quindi consentire l'accesso ai processi che tentano di aprire tale risorsa condivisa.
Differenze tra Direct3D 9 e Direct3D 9Ex: Questo flag è disponibile solo in Direct3D 9Ex.

Commenti

Combinazioni di utilizzo e risorse

Gli usi vengono specificati quando viene creata una risorsa o specificati con CheckDeviceType per testare la funzionalità di una risorsa esistente. La tabella seguente identifica quali usi possono essere applicati ai tipi di risorsa.

Utilizzo Creazione del buffer vertex Creazione del buffer di indice Creazione trama Creazione della trama del cubo Creazione della trama del volume Creazione di Surface Controllare il formato del dispositivo
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

 

Usare CheckDeviceFormat per controllare il supporto hardware per questi usi.

Ognuno dei metodi di creazione delle risorse è elencato qui.

Le funzioni di texturing D3DXCreatexxx usano anche alcuni di questi valori costanti per la creazione di risorse.

Per altre informazioni sui tipi di pool e sulle relative restrizioni con determinati usi, vedere D3DPOOL.

Requisiti

Requisito Valore
Intestazione
D3d9types.h

Vedi anche

Costanti Direct3D

D3DUSAGE_QUERY

D3DDECLUSAGE

D3DPOOL