Enumerazione D3DTEXTUREOP
Definisce le operazioni di fusione delle trame per fase.
Sintassi
typedef enum D3DTEXTUREOP {
D3DTOP_DISABLE = 1,
D3DTOP_SELECTARG1 = 2,
D3DTOP_SELECTARG2 = 3,
D3DTOP_MODULATE = 4,
D3DTOP_MODULATE2X = 5,
D3DTOP_MODULATE4X = 6,
D3DTOP_ADD = 7,
D3DTOP_ADDSIGNED = 8,
D3DTOP_ADDSIGNED2X = 9,
D3DTOP_SUBTRACT = 10,
D3DTOP_ADDSMOOTH = 11,
D3DTOP_BLENDDIFFUSEALPHA = 12,
D3DTOP_BLENDTEXTUREALPHA = 13,
D3DTOP_BLENDFACTORALPHA = 14,
D3DTOP_BLENDTEXTUREALPHAPM = 15,
D3DTOP_BLENDCURRENTALPHA = 16,
D3DTOP_PREMODULATE = 17,
D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
D3DTOP_MODULATECOLOR_ADDALPHA = 19,
D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
D3DTOP_BUMPENVMAP = 22,
D3DTOP_BUMPENVMAPLUMINANCE = 23,
D3DTOP_DOTPRODUCT3 = 24,
D3DTOP_MULTIPLYADD = 25,
D3DTOP_LERP = 26,
D3DTOP_FORCE_DWORD = 0x7fffffff
} D3DTEXTUREOP, *LPD3DTEXTUREOP;
Costanti
-
D3DTOP_DISABLE
-
Disabilita l'output di questa fase di trama e tutte le fasi con un indice superiore. Per disabilitare il mapping delle trame, impostarlo come operazione di colore per la prima fase della trama (fase 0). Le operazioni alfa non possono essere disabilitate quando sono abilitate le operazioni di colore. L'impostazione dell'operazione alfa su D3DTOP_DISABLE quando la fusione dei colori è abilitata causa un comportamento indefinito.
-
D3DTOP_SELECTARG1
-
Usare il primo colore o l'argomento alfa della fase di trama, non modificato, come output. Questa operazione influisce sull'argomento colore quando usato con lo stato della fase della trama D3DTSS_COLOROP e l'argomento alfa se usato con D3DTSS_ALPHAOP.
-
D3DTOP_SELECTARG2
-
Usare il secondo colore o l'argomento alfa della fase di trama, non modificato, come output. Questa operazione influisce sull'argomento colore quando viene usato con lo stato della fase della trama D3DTSS_COLOROP e l'argomento alfa quando usato con D3DTSS_ALPHAOP.
-
D3DTOP_MODULATE
-
Moltiplicare i componenti degli argomenti.
-
D3DTOP_MODULATE2X
-
Moltiplicare i componenti degli argomenti e spostare i prodotti a sinistra 1 bit (moltiplicandoli in modo efficace per 2) per la luminosità.
-
D3DTOP_MODULATE4X
-
Moltiplicare i componenti degli argomenti e spostare i prodotti a sinistra 2 bit (moltiplicandoli in modo efficace per 4) per la luminosità.
-
D3DTOP_ADD
-
Aggiungere i componenti degli argomenti.
-
D3DTOP_ADDSIGNED
-
Aggiungere i componenti degli argomenti con una distorsione - 0,5, rendendo l'intervallo effettivo di valori compreso tra - 0,5 e 0,5.
-
D3DTOP_ADDSIGNED2X
-
Aggiungere i componenti degli argomenti con una distorsione - 0,5 e spostare i prodotti a sinistra 1 bit.
-
D3DTOP_SUBTRACT
-
Sottrae i componenti del secondo argomento da quelli del primo argomento.
-
D3DTOP_ADDSMOOTH
-
Aggiungere il primo e il secondo argomento; quindi sottrarre il prodotto dalla somma.
-
D3DTOP_BLENDDIFFUSEALPHA
-
Combinare in modo lineare questa fase di trama usando l'alfa interpolato da ogni vertice.
-
D3DTOP_BLENDTEXTUREALPHA
-
Combinare in modo lineare questa fase di trama usando l'alfa della trama di questa fase.
-
D3DTOP_BLENDFACTORALPHA
-
Combinare in modo lineare questa fase di trama usando un set alfa scalare con lo stato di rendering D3DRS_TEXTUREFACTOR.
-
D3DTOP_BLENDTEXTUREALPHAPM
-
Combinare in modo lineare una fase di trama che usa un alfa premoltiplicato.
-
D3DTOP_BLENDCURRENTALPHA
-
Combinare in modo lineare questa fase di trama usando l'alfa ricavato dalla fase precedente della trama.
-
D3DTOP_PREMODULATE
-
D3DTOP_PREMODULATE è impostato nella fase n. L'output della fase n è arg1. Inoltre, se nella fase n + 1 è presente una trama, qualsiasi D3DTA_CURRENT nella fase n + 1 è premoltiplicata dalla trama nella fase n + 1.
-
D3DTOP_MODULATEALPHA_ADDCOLOR
-
Modulare il colore del secondo argomento, utilizzando l'alfa del primo argomento; aggiungere quindi il risultato all'argomento 1. Questa operazione è supportata solo per le operazioni di colore (D3DTSS_COLOROP).
-
D3DTOP_MODULATECOLOR_ADDALPHA
-
Modulare gli argomenti; quindi aggiungere l'alfa del primo argomento. Questa operazione è supportata solo per le operazioni di colore (D3DTSS_COLOROP).
-
D3DTOP_MODULATEINVALPHA_ADDCOLOR
-
Simile a D3DTOP_MODULATEALPHA_ADDCOLOR, ma usare l'inverso dell'alfa del primo argomento. Questa operazione è supportata solo per le operazioni di colore (D3DTSS_COLOROP).
-
D3DTOP_MODULATEINVCOLOR_ADDALPHA
-
Simile a D3DTOP_MODULATECOLOR_ADDALPHA, ma usare l'inverso del colore del primo argomento. Questa operazione è supportata solo per le operazioni di colore (D3DTSS_COLOROP).
-
D3DTOP_BUMPENVMAP
-
Eseguire il mapping dell'urto per pixel, usando la mappa dell'ambiente nella fase di trama successiva, senza luminanza. Questa operazione è supportata solo per le operazioni di colore (D3DTSS_COLOROP).
-
D3DTOP_BUMPENVMAPLUMINANCE
-
Eseguire il mapping dell'urto per pixel, usando la mappa dell'ambiente nella fase di trama successiva, con la luminanza. Questa operazione è supportata solo per le operazioni di colore (D3DTSS_COLOROP).
-
D3DTOP_DOTPRODUCT3
-
Modulare i componenti di ogni argomento come componenti firmati, aggiungere i propri prodotti; replicare quindi la somma in tutti i canali di colore, incluso alfa. Questa operazione è supportata per le operazioni di colore e alfa.
In DirectX 6 e DirectX 7, le operazioni multitexture degli input precedenti vengono tutte spostate verso il basso di metà (y = x - 0,5) prima di usare per simulare i dati firmati e il risultato scalare viene automaticamente bloccato su valori positivi e replicato in tutti e tre i canali di output. Si noti anche che, come operazione a colori, questo non aggiorna solo i componenti RGB.
Tuttavia, negli shader DirectX 8.1 è possibile specificare che l'output deve essere instradato a .rgb o ai componenti .a o entrambi (impostazione predefinita). È anche possibile specificare un'operazione scalare separata sul canale alfa.
-
D3DTOP_MULTIPLYADD
-
Esegue un'operazione di moltiplicazione accumulata. Accetta gli ultimi due argomenti, li moltiplica insieme e li aggiunge all'argomento di input/origine rimanente e li inserisce nel risultato.
SRGBA = Arg1 + Arg2 * Arg3
-
D3DTOP_LERP
-
Esegue l'interpolazione lineare tra il secondo e il terzo argomento di origine in base a una proporzione specificata nel primo argomento di origine.
SRGBA = (Arg1) * Arg2 + (1- Arg1) * Arg3.
-
D3DTOP_FORCE_DWORD
-
Forza questa enumerazione per la compilazione in 32 bit di dimensioni. Senza questo valore, alcuni compilatori consentono la compilazione di questa enumerazione in una dimensione diversa da 32 bit. Questo valore non viene utilizzato.
Commenti
I membri di questo tipo vengono usati quando si impostano operazioni di colore o alfa usando i valori D3DTSS_COLOROP o D3DTSS_ALPHAOP con il metodo IDirect3DDevice9::SetTextureStageState .
Nelle formule precedenti, S RGBA è il coloreRGBA prodotto da un'operazione di trama e Arg1, Arg2 e Arg3 rappresentano il colore RGBA completo degli argomenti della trama. I singoli componenti di un argomento vengono visualizzati con i sottoscritti. Ad esempio, il componente alfa per l'argomento 1 verrà visualizzato comeArg1 A.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Vedi anche