enumerazione D3DRENDERSTATETYPE
Gli stati di rendering definiscono gli stati di configurazione per tutti i tipi di elaborazione dei vertici e dei pixel. Alcuni stati di rendering configurano l'elaborazione dei vertici e alcuni configurano l'elaborazione dei pixel (vedere Stati di rendering (Direct3D 9)). È possibile salvare e ripristinare gli stati di rendering usando i blocchi di stato (vedere State Blocks Save and Restore State (Direct3D 9)).
Sintassi
typedef enum D3DRENDERSTATETYPE {
D3DRS_ZENABLE = 7,
D3DRS_FILLMODE = 8,
D3DRS_SHADEMODE = 9,
D3DRS_ZWRITEENABLE = 14,
D3DRS_ALPHATESTENABLE = 15,
D3DRS_LASTPIXEL = 16,
D3DRS_SRCBLEND = 19,
D3DRS_DESTBLEND = 20,
D3DRS_CULLMODE = 22,
D3DRS_ZFUNC = 23,
D3DRS_ALPHAREF = 24,
D3DRS_ALPHAFUNC = 25,
D3DRS_DITHERENABLE = 26,
D3DRS_ALPHABLENDENABLE = 27,
D3DRS_FOGENABLE = 28,
D3DRS_SPECULARENABLE = 29,
D3DRS_FOGCOLOR = 34,
D3DRS_FOGTABLEMODE = 35,
D3DRS_FOGSTART = 36,
D3DRS_FOGEND = 37,
D3DRS_FOGDENSITY = 38,
D3DRS_RANGEFOGENABLE = 48,
D3DRS_STENCILENABLE = 52,
D3DRS_STENCILFAIL = 53,
D3DRS_STENCILZFAIL = 54,
D3DRS_STENCILPASS = 55,
D3DRS_STENCILFUNC = 56,
D3DRS_STENCILREF = 57,
D3DRS_STENCILMASK = 58,
D3DRS_STENCILWRITEMASK = 59,
D3DRS_TEXTUREFACTOR = 60,
D3DRS_WRAP0 = 128,
D3DRS_WRAP1 = 129,
D3DRS_WRAP2 = 130,
D3DRS_WRAP3 = 131,
D3DRS_WRAP4 = 132,
D3DRS_WRAP5 = 133,
D3DRS_WRAP6 = 134,
D3DRS_WRAP7 = 135,
D3DRS_CLIPPING = 136,
D3DRS_LIGHTING = 137,
D3DRS_AMBIENT = 139,
D3DRS_FOGVERTEXMODE = 140,
D3DRS_COLORVERTEX = 141,
D3DRS_LOCALVIEWER = 142,
D3DRS_NORMALIZENORMALS = 143,
D3DRS_DIFFUSEMATERIALSOURCE = 145,
D3DRS_SPECULARMATERIALSOURCE = 146,
D3DRS_AMBIENTMATERIALSOURCE = 147,
D3DRS_EMISSIVEMATERIALSOURCE = 148,
D3DRS_VERTEXBLEND = 151,
D3DRS_CLIPPLANEENABLE = 152,
D3DRS_POINTSIZE = 154,
D3DRS_POINTSIZE_MIN = 155,
D3DRS_POINTSPRITEENABLE = 156,
D3DRS_POINTSCALEENABLE = 157,
D3DRS_POINTSCALE_A = 158,
D3DRS_POINTSCALE_B = 159,
D3DRS_POINTSCALE_C = 160,
D3DRS_MULTISAMPLEANTIALIAS = 161,
D3DRS_MULTISAMPLEMASK = 162,
D3DRS_PATCHEDGESTYLE = 163,
D3DRS_DEBUGMONITORTOKEN = 165,
D3DRS_POINTSIZE_MAX = 166,
D3DRS_INDEXEDVERTEXBLENDENABLE = 167,
D3DRS_COLORWRITEENABLE = 168,
D3DRS_TWEENFACTOR = 170,
D3DRS_BLENDOP = 171,
D3DRS_POSITIONDEGREE = 172,
D3DRS_NORMALDEGREE = 173,
D3DRS_SCISSORTESTENABLE = 174,
D3DRS_SLOPESCALEDEPTHBIAS = 175,
D3DRS_ANTIALIASEDLINEENABLE = 176,
D3DRS_MINTESSELLATIONLEVEL = 178,
D3DRS_MAXTESSELLATIONLEVEL = 179,
D3DRS_ADAPTIVETESS_X = 180,
D3DRS_ADAPTIVETESS_Y = 181,
D3DRS_ADAPTIVETESS_Z = 182,
D3DRS_ADAPTIVETESS_W = 183,
D3DRS_ENABLEADAPTIVETESSELLATION = 184,
D3DRS_TWOSIDEDSTENCILMODE = 185,
D3DRS_CCW_STENCILFAIL = 186,
D3DRS_CCW_STENCILZFAIL = 187,
D3DRS_CCW_STENCILPASS = 188,
D3DRS_CCW_STENCILFUNC = 189,
D3DRS_COLORWRITEENABLE1 = 190,
D3DRS_COLORWRITEENABLE2 = 191,
D3DRS_COLORWRITEENABLE3 = 192,
D3DRS_BLENDFACTOR = 193,
D3DRS_SRGBWRITEENABLE = 194,
D3DRS_DEPTHBIAS = 195,
D3DRS_WRAP8 = 198,
D3DRS_WRAP9 = 199,
D3DRS_WRAP10 = 200,
D3DRS_WRAP11 = 201,
D3DRS_WRAP12 = 202,
D3DRS_WRAP13 = 203,
D3DRS_WRAP14 = 204,
D3DRS_WRAP15 = 205,
D3DRS_SEPARATEALPHABLENDENABLE = 206,
D3DRS_SRCBLENDALPHA = 207,
D3DRS_DESTBLENDALPHA = 208,
D3DRS_BLENDOPALPHA = 209,
D3DRS_FORCE_DWORD = 0x7fffffff
} D3DRENDERSTATETYPE, *LPD3DRENDERSTATETYPE;
Costanti
-
D3DRS_ZENABLE
-
Stato di buffering di profondità come membro del tipo enumerato D3DZBUFFERTYPE . Impostare questo stato su D3DZB_TRUE per abilitare il buffer z, D3DZB_Uedizione Standard W per abilitare il buffer w o D3DZB_FALedizione Standard per disabilitare il buffer di profondità.
Il valore predefinito per questo stato di rendering è D3DZB_TRUE se è stato creato uno stencil di profondità insieme alla catena di scambio impostando il membro EnableAutoDepthStencil della struttura D3DPRE edizione StandardNT_PARAMETERS su TRUE e D3DZB_FALedizione Standard in caso contrario.
-
D3DRS_FILLMODE
-
Uno o più membri del tipo enumerato D3DFILLMODE. Il valore predefinito è D3DFILL_SOLID.
-
D3DRS_SHADEMODE
-
Uno o più membri del tipo enumerato D3DSHADEMODE. Il valore predefinito è D3DSHADE_GOURAUD.
-
D3DRS_ZWRITedizione Enterprise NABLE
-
TRUE per consentire all'applicazione di scrivere nel buffer di profondità. Il valore predefinito è TRUE. Questo membro consente a un'applicazione di impedire al sistema di aggiornare il buffer di profondità con nuovi valori di profondità. Se FAL edizione Standard, i confronti di profondità vengono comunque effettuati in base allo stato di rendering D3DRS_ZFUNC, presupponendo che il buffer di profondità sia in corso, ma i valori di profondità non vengono scritti nel buffer.
-
D3DRS_ALPHATESTENABLE
-
TRUE per abilitare il test alfa per pixel. Se il test viene superato, il pixel viene elaborato dal buffer dei fotogrammi. In caso contrario, l'elaborazione di tutti i buffer di fotogrammi viene ignorata per il pixel.
Il test viene eseguito confrontando il valore alfa in ingresso con il valore alfa di riferimento, usando la funzione di confronto fornita dal D3DRS_ALPHAFUNC stato di rendering. Il valore alfa di riferimento è determinato dal valore impostato per D3DRS_ALPHAREF. Per altre informazioni, vedere Alpha Testing State (Direct3D 9).
Il valore predefinito di questo parametro è FAL edizione Standard.
-
D3DRS_LASTPIXEL
-
Il valore predefinito è TRUE, che abilita il disegno dell'ultimo pixel in una linea. Per impedire il disegno dell'ultimo pixel, impostare questo valore su FAL edizione Standard. Per altre informazioni, vedere Struttura e stato di riempimento (Direct3D 9).For more information, see Outline and Fill State (Direct3D 9).
-
D3DRS_SRCBLEND
-
Un membro del tipo enumerato D3DBLEND. Il valore predefinito è D3DBLEND_ONE.
-
D3DRS_DESTBLEND
-
Un membro del tipo enumerato D3DBLEND. Il valore predefinito è D3DBLEND_ZERO.
-
D3DRS_CULLMODE
-
Specifica il modo in cui i triangoli rivolta verso il retro vengono eliminati, se affatto. Può essere impostato su un membro del tipo enumerato D3DCULL. Il valore predefinito è D3DCULL_CCW.
-
D3DRS_ZFUNC
-
Un membro del tipo enumerato D3DCMPFUNC. Il valore predefinito è D3DCMP_LESedizione Standard QUAL. Questo membro consente a un'applicazione di accettare o rifiutare un pixel, in base alla distanza dalla fotocamera.
Il valore di profondità del pixel viene confrontato con il valore depth-buffer. Se il valore di profondità del pixel passa la funzione di confronto, il pixel viene scritto.
Il valore di profondità viene scritto nel buffer di profondità solo se lo stato di rendering è TRUE.
I rasterizzatori software e molti acceleratori hardware funzionano più velocemente se il test di profondità ha esito negativo, perché non è necessario filtrare e modulare la trama se il rendering del pixel non verrà eseguito.
-
D3DRS_ALPHAREF
-
Valore che specifica un valore alfa di riferimento su cui vengono testati i pixel quando è abilitato il test alfa. Si tratta di un valore a 8 bit posizionato nei bassi 8 bit del valore di stato di rendering DWORD. I valori possono variare da 0x00000000 a 0x000000FF. Il valore predefinito è 0.
-
D3DRS_ALPHAFUNC
-
Un membro del tipo enumerato D3DCMPFUNC. Il valore predefinito è D3DCMP_ALWAYS. Questo membro consente a un'applicazione di accettare o rifiutare un pixel in base al relativo valore alfa.
-
D3DRS_DITHERENABLE
-
TRUE per abilitare il dithering. Il valore predefinito è FAL edizione Standard.
-
D3DRS_ALPHABLENDENABLE
-
TRUE per abilitare la trasparenza con fusione alfa. Il valore predefinito è FAL edizione Standard.
Il tipo di fusione alfa è determinato dagli stati di rendering D3DRS_SRCBLEND e D3DRS_DESTBLEND.
-
D3DRS_FOGENABLE
-
TRUE per abilitare la fusione della nebbia. Il valore predefinito è FAL edizione Standard. Per altre informazioni sull'uso della fusione nebbia, vedere Nebbia.
-
D3DRS_SPECULARENABLE
-
TRUE per abilitare le evidenziazioni speculari. Il valore predefinito è FAL edizione Standard.
Le evidenziazioni speculari vengono calcolate come se ogni vertice dell'oggetto acceso si trovi all'origine dell'oggetto. In questo modo si ottengono i risultati previsti, purché l'oggetto venga modellato intorno all'origine e la distanza dalla luce all'oggetto sia relativamente grande. In altri casi, i risultati non sono definiti.
Quando questo membro è impostato su TRUE, il colore speculare viene aggiunto al colore di base dopo la propagazione della trama, ma prima della fusione alfa.
-
D3DRS_FOGCOLOR
-
Valore il cui tipo è D3DCOLOR. Il valore predefinito è 0. Per altre informazioni sul colore nebbia, vedi Colore nebbia (Direct3D 9).For more information about fog color, see Fog Color (Direct3D 9).
-
D3DRS_FOGTABLEMODE
-
Formula nebbia da utilizzare per la nebbia in pixel. Impostare su uno dei membri del D3DFOGMODE tipo enumerato. Il valore predefinito è D3DFOG_NONE. Per altre informazioni sulla nebbia dei pixel, vedi Pixel Fog (Direct3D 9).For more information about pixel fog, see Pixel Fog (Direct3D 9).
-
D3DRS_FOGSTART
-
Profondità in corrispondenza della quale iniziano gli effetti pixel o vertex fog per la modalità nebbia lineare. Il valore predefinito è 0,0f. La profondità viene specificata nello spazio globale per la nebbia dei vertici e lo spazio del dispositivo [0,0, 1,0] o lo spazio globale per la nebbia pixel. Per la nebbia dei pixel, questi valori si trovano nello spazio del dispositivo quando il sistema usa z per i calcoli della nebbia e lo spazio globale quando il sistema usa nebbia relativa agli occhi (nebbia). Per altre informazioni, vedere Parametri nebbia (Direct3D 9) e Profondità basata su Z.
I valori per questo stato di rendering sono valori a virgola mobile. Poiché il metodo IDirect3DDevice9::SetRenderState accetta valori DWORD, l'applicazione deve eseguire il cast di una variabile contenente il valore, come illustrato nell'esempio di codice seguente.
pDevice9->SetRenderState(D3DRS_FOGSTART, *((DWORD*) (&fFogStart)));
-
D3DRS_FOGEND
-
Profondità a cui terminano gli effetti di nebbia dei pixel o dei vertici per la modalità nebbia lineare. Il valore predefinito è 1,0f. La profondità viene specificata nello spazio globale per la nebbia dei vertici e lo spazio del dispositivo [0,0, 1,0] o lo spazio globale per la nebbia pixel. Per la nebbia dei pixel, questi valori si trovano nello spazio del dispositivo quando il sistema usa z per i calcoli della nebbia e nello spazio globale quando il sistema usa nebbia relativa agli occhi (nebbia). Per altre informazioni, vedere Parametri nebbia (Direct3D 9) e Profondità basata su Z.
I valori per questo stato di rendering sono valori a virgola mobile. Poiché il metodo IDirect3DDevice9::SetRenderState accetta valori DWORD, l'applicazione deve eseguire il cast di una variabile contenente il valore, come illustrato nell'esempio di codice seguente.
m_pDevice9->SetRenderState(D3DRS_FOGEND, *((DWORD*) (&fFogEnd)));
-
D3DRS_FOGDENSITY
-
Densità di nebbia per pixel o nebbia dei vertici usata nelle modalità nebbia esponenziale (D3DFOG_EXP e D3DFOG_EXP2). I valori di densità validi sono compresi tra 0,0 e 1,0. Il valore predefinito è 1,0. Per altre informazioni, vedere Parametri nebbia (Direct3D 9).For more information, see Fog Parameters (Direct3D 9).
I valori per questo stato di rendering sono valori a virgola mobile. Poiché il metodo IDirect3DDevice9::SetRenderState accetta valori DWORD, l'applicazione deve eseguire il cast di una variabile contenente il valore, come illustrato nell'esempio di codice seguente.
m_pDevice9->SetRenderState(D3DRS_FOGDENSITY, *((DWORD*) (&fFogDensity)));
-
D3DRS_RANGEFOGENABLE
-
TRUE per abilitare la nebbia dei vertici basata sull'intervallo. Il valore predefinito è FAL edizione Standard, nel qual caso il sistema usa nebbia basata sulla profondità. Nella nebbia basata sull'intervallo, la distanza di un oggetto dal visualizzatore viene usata per calcolare gli effetti della nebbia, non la profondità dell'oggetto (ovvero la coordinata z) nella scena. Nella nebbia basata sull'intervallo, tutti i metodi di nebbia funzionano come di consueto, ad eccezione del fatto che usano l'intervallo anziché la profondità nei calcoli.
L'intervallo è il fattore corretto da usare per i calcoli nebbia, ma la profondità viene comunemente usata perché l'intervallo richiede molto tempo per calcolare e la profondità è generalmente già disponibile. L'uso della profondità per calcolare la nebbia ha l'effetto indesiderato di avere la fogginessa degli oggetti periferici cambia quando l'occhio del visualizzatore si muove - in questo caso, le variazioni di profondità e l'intervallo rimane costante.
Poiché attualmente nessun hardware supporta nebbia basata su intervallo per pixel, la correzione dell'intervallo viene offerta solo per la nebbia dei vertici.
Per altre informazioni, vedere Vertex Fog (Direct3D 9).For more information, see Vertex Fog (Direct3D 9).
-
D3DRS_STENCILENABLE
-
TRUE per abilitare lo stenciling o FAL edizione Standard disabilitare lo stenciling. Il valore predefinito è FAL edizione Standard. Per altre informazioni, vedere Tecniche di buffer Stencil (Direct3D 9).For more information, see Stencil Buffer Techniques (Direct3D 9).
-
D3DRS_STENCILFAIL
-
Operazione di stencil da eseguire se il test dello stencil non riesce. I valori provengono dal tipo enumerato D3DSTENCILOP. Il valore predefinito è D3DSTENCILOP_Kedizione Enterprise P.
-
D3DRS_STENCILZFAIL
-
Operazione stencil da eseguire se il test dello stencil supera e il test di profondità (z-test) ha esito negativo. I valori provengono dal tipo enumerato D3DSTENCILOP. Il valore predefinito è D3DSTENCILOP_Kedizione Enterprise P.
-
D3DRS_STENCILPASS
-
Operazione di stencil da eseguire se vengono superati sia lo stencil che la profondità (z). I valori provengono dal tipo enumerato D3DSTENCILOP. Il valore predefinito è D3DSTENCILOP_Kedizione Enterprise P.
-
D3DRS_STENCILFUNC
-
Funzione di confronto per il test degli stencil. I valori provengono dal tipo enumerato D3DCMPFUNC. Il valore predefinito è D3DCMP_ALWAYS.
La funzione di confronto viene usata per confrontare il valore di riferimento con una voce di buffer stencil. Questo confronto si applica solo ai bit nel valore di riferimento e alla voce del buffer stencil impostati nella maschera stencil (impostata dallo stato di rendering D3DRS_STENCILMASK). Se TRUE, il test dello stencil viene superato.
-
D3DRS_STENCILREF
-
Valore di riferimento int per il test dello stencil. Il valore predefinito è 0.
-
D3DRS_STENCILMASK
-
Maschera applicata al valore di riferimento e a ogni voce di buffer stencil per determinare i bit significativi per il test degli stencil. La maschera predefinita è 0xFFFFFFFF.
-
D3DRS_STENCILWRITEMASK
-
Maschera di scrittura applicata ai valori scritti nel buffer degli stencil. La maschera predefinita è 0xFFFFFFFF.
-
D3DRS_TEXTUREFACTOR
-
Colore usato per la fusione a più trame con l'argomento di fusione delle trame D3DTA_TFACTOR o l'operazione di fusione delle trame D3DTOP_BLENDFACTORALPHA. Il valore associato è una variabile D3DCOLOR. Il valore predefinito è bianco opaco (0xFFFFFFFF).
-
D3DRS_WRAP0
-
Comportamento di wrapping delle trame per più set di coordinate di trama. I valori validi per questo stato di rendering possono essere qualsiasi combinazione di D3DWRAPCOORD_0 (o D3DWRAP_U), D3DWRAPCOORD_1 (o D3DWRAP_V), D3DWRAPCOORD_2 (o D3DWRAP_W) e flag di D3DWRAPCOORD_3. In questo modo il sistema viene disposto nella direzione del primo, secondo, terzo e quarto dimensione, a volte indicato come s, t, r e q direzioni, per una determinata trama. Il valore predefinito per questo stato di rendering è 0 (wrapping disabilitato in tutte le direzioni).
-
D3DRS_WRAP1
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP2
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP3
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP4
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP5
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP6
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP7
-
Vedere D3DRS_WRAP0.
-
D3DRS_CLIPPING
-
TRUE per abilitare il ritaglio primitivo da Direct3D o FAL edizione Standard per disabilitarlo. Il valore predefinito è TRUE.
-
D3DRS_LIGHTING
-
TRUE per abilitare l'illuminazione Direct3D o FAL edizione Standard per disabilitarla. Il valore predefinito è TRUE. Solo i vertici che includono una normale vertice sono correttamente illuminati; i vertici che non contengono un normale impiegano un prodotto punto pari a 0 in tutti i calcoli di illuminazione.
-
D3DRS_AMBIENT
-
Colore della luce ambientale. Questo valore è di tipo D3DCOLOR. Il valore predefinito è 0.
-
D3DRS_FOGVERTEXMODE
-
Formula nebbia da utilizzare per la nebbia dei vertici. Impostare su un membro del tipo enumerato D3DFOGMODE. Il valore predefinito è D3DFOG_NONE.
-
D3DRS_COLORVERTEX
-
TRUE per abilitare il colore per vertice o FAL edizione Standard disabilitarlo. Il valore predefinito è TRUE. L'abilitazione del colore per vertice consente al sistema di includere il colore definito per i singoli vertici nei calcoli di illuminazione.
Per altre informazioni, vedere gli stati di rendering seguenti:
- D3DRS_DIFFUedizione Standard MATERIALSOURCE
- D3DRS_SPECULARMATERIALSOURCE
- D3DRS_AMBIENTMATERIALSOURCE
- D3DRS_EMISSIVEMATERIALSOURCE
-
D3DRS_LOCALVIEWER
-
TRUE per abilitare le evidenziazioni speculari relative alla fotocamera o FAL edizione Standard per l'uso di evidenziazioni speculari ortogonali. Il valore predefinito è TRUE. Le applicazioni che usano la proiezione ortogonale devono specificare FAL edizione Standard.
-
D3DRS_NORMALIZENORMALS
-
TRUE per abilitare la normalizzazione automatica delle normali dei vertici o FAL edizione Standard disabilitarla. Il valore predefinito è FAL edizione Standard. L'abilitazione di questa funzionalità fa sì che il sistema normalizzi i vertici per i vertici dopo averli trasformati nello spazio della fotocamera, che può richiedere tempo di calcolo.
-
D3DRS_DIFFUedizione Standard MATERIALSOURCE
-
Fonte di colore diffusa per i calcoli di illuminazione. I valori validi sono membri del tipo enumerato D3DMATERIALCOLORSOURCE . Il valore predefinito è D3DMCS_COLOR1. Il valore per questo stato di rendering viene utilizzato solo se lo stato di rendering D3DRS_COLORVERTEX è impostato su TRUE.
-
D3DRS_SPECULARMATERIALSOURCE
-
Sorgente di colore speculare per i calcoli di illuminazione. I valori validi sono membri del tipo enumerato D3DMATERIALCOLORSOURCE . Il valore predefinito è D3DMCS_COLOR2.
-
D3DRS_AMBIENTMATERIALSOURCE
-
Sorgente di colore ambientale per i calcoli dell'illuminazione. I valori validi sono membri del tipo enumerato D3DMATERIALCOLORSOURCE . Il valore predefinito è D3DMCS_MATERIAL.
-
D3DRS_EMISSIVEMATERIALSOURCE
-
Sorgente di colore emissiva per i calcoli di illuminazione. I valori validi sono membri del tipo enumerato D3DMATERIALCOLORSOURCE . Il valore predefinito è D3DMCS_MATERIAL.
-
D3DRS_VERTEXBLEND
-
Numero di matrici da utilizzare per eseguire la fusione geometrica, se disponibile. I valori validi sono membri del tipo enumerato D3DVERTEXBLENDFLAGS. Il valore predefinito è D3DVBF_DISABLE.
-
D3DRS_CLIPPLANedizione Enterprise NABLE
-
Abilita o disabilita i piani di ritaglio definiti dall'utente. I valori validi sono qualsiasi DWORD in cui lo stato di ogni bit (impostato o non impostato) attiva o disattiva lo stato di attivazione di un piano di ritaglio definito dall'utente corrispondente. Il bit meno significativo (bit 0) controlla il primo piano di ritaglio in corrispondenza dell'indice 0 e i bit successivi controllano l'attivazione dei piani di ritaglio a indici superiori. Se è impostato un bit, il sistema applica il piano di ritaglio appropriato durante il rendering della scena. Il valore predefinito è 0.
Le macro D3DCLIPPLANEn sono definite per offrire un modo pratico per abilitare i piani di ritaglio.
-
D3DRS_POINTSIZE
-
Valore float che specifica le dimensioni da utilizzare per il calcolo delle dimensioni del punto nei casi in cui le dimensioni del punto non vengono specificate per ogni vertice. Questo valore non viene utilizzato quando il vertice contiene le dimensioni del punto. Questo valore si trova in unità di spazio dello schermo se D3DRS_POINTSCALedizione Enterprise NABLE è FAL edizione Standard; in caso contrario, questo valore si trova in unità di spazio globale. Il valore predefinito è il valore restituito da un driver. Se un driver restituisce 0 o 1, il valore predefinito è 64, che consente l'emulazione delle dimensioni del punto software. Poiché il metodo IDirect3DDevice9::SetRenderState accetta valori DWORD, l'applicazione deve eseguire il cast di una variabile contenente il valore, come illustrato nell'esempio di codice seguente.
m_pDevice9->SetRenderState(D3DRS_POINTSIZE, *((DWORD*)&pointSize));
-
D3DRS_POINTSIZE_MIN
-
Valore float che specifica la dimensione minima delle primitive punto. Le primitive dei punti vengono bloccate a questa dimensione durante il rendering. L'impostazione di questo valore su valori inferiori a 1,0 comporta l'eliminazione di punti quando il punto non copre un centro pixel e l'antialiasing è disabilitato o sottoposto a rendering con intensità ridotta quando è abilitata l'antialiasing. Il valore predefinito è 1,0f. L'intervallo per questo valore è maggiore o uguale a 0,0f. Poiché il metodo IDirect3DDevice9::SetRenderState accetta valori DWORD, l'applicazione deve eseguire il cast di una variabile contenente il valore, come illustrato nell'esempio di codice seguente.
m_pDevice9->SetRenderState(D3DRS_POINTSIZE_MIN, *((DWORD*)&pointSizeMin));
-
D3DRS_POINTSPRITedizione Enterprise NABLE
-
valore bool. Se TRUE, le coordinate delle trame delle primitive dei punti vengono impostate in modo che le trame complete vengano mappate in ogni punto. Quando FAL edizione Standard, le coordinate della trama dei vertici vengono utilizzate per l'intero punto. Il valore predefinito è FAL edizione Standard. È possibile ottenere punti a pixel singoli in stile DirectX 7 impostando D3DRS_POINTSCALedizione Enterprise NABLE su FAL edizione Standard e D3DRS_POINTSIZE su 1,0, ovvero i valori predefiniti.
-
D3DRS_POINTSCALedizione Enterprise NABLE
-
valore bool che controlla il calcolo delle dimensioni per le primitive punto. Se TRUE, la dimensione del punto viene interpretata come valore dello spazio della fotocamera e viene ridimensionata dalla funzione distance e dal frustum per visualizzare il ridimensionamento dell'asse y per calcolare le dimensioni finali del punto di spazio dello schermo. Quando FAL edizione Standard, la dimensione del punto viene interpretata come spazio dello schermo e usata direttamente. Il valore predefinito è FAL edizione Standard.
-
D3DRS_POINTSCALE_A
-
Valore float che controlla l'attenuazione delle dimensioni basate sulla distanza per le primitive punto. Attivo solo quando D3DRS_POINTSCALedizione Enterprise NABLE è TRUE. Il valore predefinito è 1,0f. L'intervallo per questo valore è maggiore o uguale a 0,0f. Poiché il metodo IDirect3DDevice9::SetRenderState accetta valori DWORD, l'applicazione deve eseguire il cast di una variabile contenente il valore, come illustrato nell'esempio di codice seguente.
m_pDevice9->SetRenderState(D3DRS_POINTSCALE_A, *((DWORD*)&pointScaleA));
-
D3DRS_POINTSCALE_B
-
Valore float che controlla l'attenuazione delle dimensioni basate sulla distanza per le primitive punto. Attivo solo quando D3DRS_POINTSCALedizione Enterprise NABLE è TRUE. Il valore predefinito è 0,0f. L'intervallo per questo valore è maggiore o uguale a 0,0f. Poiché il metodo IDirect3DDevice9::SetRenderState accetta valori DWORD, l'applicazione deve eseguire il cast di una variabile contenente il valore, come illustrato nell'esempio di codice seguente.
m_pDevice9->SetRenderState(D3DRS_POINTSCALE_B, *((DWORD*)&pointScaleB));
-
D3DRS_POINTSCALE_C
-
Valore float che controlla l'attenuazione delle dimensioni basate sulla distanza per le primitive punto. Attivo solo quando D3DRS_POINTSCALedizione Enterprise NABLE è TRUE. Il valore predefinito è 0,0f. L'intervallo per questo valore è maggiore o uguale a 0,0f. Poiché il metodo IDirect3DDevice9::SetRenderState accetta valori DWORD, l'applicazione deve eseguire il cast di una variabile contenente il valore, come illustrato nell'esempio di codice seguente.
m_pDevice9->SetRenderState(D3DRS_POINTSCALE_C, *((DWORD*)&pointScaleC));
-
D3DRS_MULTISAMPLEANTIALIAS
-
valore bool che determina il modo in cui vengono calcolati i singoli campioni quando si usa un buffer di destinazione di rendering multisample. Se impostato su TRUE, vengono calcolati più campioni in modo che l'anti-aliasing full-scene venga eseguito dal campionamento in posizioni di esempio diverse per ogni campione multiplo. Se impostato su FAL edizione Standard, tutti i campioni multipli vengono scritti con lo stesso valore di campione, campionati al centro pixel, che consente il rendering non antialiased in un buffer multisample. Questo stato di rendering non ha alcun effetto durante il rendering in un singolo buffer di esempio. Il valore predefinito è TRUE.
-
D3DRS_MULTISAMPLEMASK
-
Ogni bit in questa maschera, a partire dal bit meno significativo (LSB), controlla la modifica di uno degli esempi in una destinazione di rendering multisample. Pertanto, per una destinazione di rendering a 8 campioni, il byte basso contiene le otto abilita di scrittura per ognuno degli otto campioni. Questo stato di rendering non ha alcun effetto durante il rendering in un singolo buffer di esempio. Il valore predefinito è 0xFFFFFFFF.
Questo stato di rendering consente l'uso di un buffer multisample come buffer di accumulo, eseguendo il rendering multipass della geometria in cui ogni passaggio aggiorna un subset di campioni.
Se sono presenti n campioni multicampionamento e k abilitati, l'intensità risultante dell'immagine sottoposta a rendering deve essere k/n. Ogni componente RGB di ogni pixel viene fattoriato da k/n.
-
D3DRS_PATCHEDGESTYLE
-
Imposta se i bordi delle patch useranno la tassellatura in stile float. I valori possibili sono definiti dal tipo enumerato D3DPATCHEDGESTYLE . Il valore predefinito è D3DPATCHEDGE_DISCRETE.
-
D3DRS_DEBUGMONITORTOKEN
-
Impostare solo per il debug del monitoraggio. I valori possibili sono definiti dal tipo enumerato D3DDEBUGMONITORTOKENS. Si noti che se D3DRS_DEBUGMONITORTOKEN è impostato, la chiamata viene considerata come il passaggio di un token al monitoraggio di debug. Se, ad esempio, dopo aver passato D3DDMT_ENABLE o D3DDMT_DISABLE a D3DRS_DEBUGMONITORTOKEN, vengono passati altri valori del token, lo stato (abilitato o disabilitato) del monitoraggio di debug continuerà a essere persistente.
Questo stato è utile solo per le compilazioni di debug. Il monitoraggio di debug viene impostato per impostazione predefinita su D3DDMT_ENABLE.
-
D3DRS_POINTSIZE_MAX
-
Valore float che specifica la dimensione massima a cui verranno bloccati gli sprite del punto. Il valore deve essere minore o uguale al membro MaxPointSize di D3DC piattaforma di strumenti analitici 9 e maggiore o uguale a D3DRS_POINTSIZE_MIN. Il valore predefinito è 64,0. Poiché il metodo IDirect3DDevice9::SetRenderState accetta valori DWORD, l'applicazione deve eseguire il cast di una variabile contenente il valore, come illustrato nell'esempio di codice seguente.
m_pDevice9->SetRenderState(D3DRS_PONTSIZE_MAX, *((DWORD*)&pointSizeMax));
-
D3DRS_INDEXEDVERTEXBLENDENABLE
-
valore bool che abilita o disabilita la fusione dei vertici indicizzati. Il valore predefinito è FAL edizione Standard. Se impostato su TRUE, la fusione dei vertici indicizzati è abilitata. Se impostato su FAL edizione Standard, la fusione dei vertici indicizzati è disabilitata. Se questo stato di rendering è abilitato, l'utente deve passare indici matrice come DWORD compressi con ogni vertice. Quando lo stato di rendering è disabilitato e la fusione dei vertici viene abilitata tramite lo stato D3DRS_VERTEXBLEND, equivale ad avere indici matrice 0, 1, 2, 3 in ogni vertice.
-
D3DRS_COLORWRITedizione Enterprise NABLE
-
Valore UINT che abilita una scrittura per canale per il buffer dei colori di destinazione di rendering. Un bit impostato comporta l'aggiornamento del canale colore durante il rendering 3D. Un bit chiaro comporta che il canale di colore non sia interessato. Questa funzionalità è disponibile se il bit delle funzionalità D3DPMISCCpiattaforma di strumenti analitici_COLORWRITedizione Enterprise NABLE è impostato nel membro PrimitiveMiscCaps della struttura D3DC piattaforma di strumenti analitici 9 per il dispositivo. Questo stato di rendering non influisce sull'operazione di cancellazione. Il valore predefinito è 0x0000000F.
I valori validi per questo stato di rendering possono essere qualsiasi combinazione di flag D3DCOLORWRITedizione EnterpriseNABLE_ALPHA, D3DCOLORWRITedizione EnterpriseNABLE_BLUE, D3DCOLORWRITedizione EnterpriseNABLE_GRedizione Enterprise N o D3DCOLORWRITedizione EnterpriseNABLE_RED.
-
D3DRS_TWedizione Enterprise NFACTOR
-
Valore float che controlla il fattore tween. Il valore predefinito è 0,0f. Poiché il metodo IDirect3DDevice9::SetRenderState accetta valori DWORD, l'applicazione deve eseguire il cast di una variabile contenente il valore, come illustrato nell'esempio di codice seguente.
m_pDevice9->SetRenderState(D3DRS_TWEENFACTOR, *((DWORD*)&TweenFactor));
-
D3DRS_BLENDOP
-
Valore utilizzato per selezionare l'operazione aritmetica applicata quando lo stato di rendering della fusione alfa, D3DRS_ALPHABLENDENABLE, è impostato su TRUE. I valori validi sono definiti dal tipo enumerato D3DBLENDOP . Il valore predefinito è D3DBLENDOP_ADD.
Se la funzionalità del dispositivo D3DPMISCCpiattaforma di strumenti analitici_BLENDOP non è supportata, viene eseguita D3DBLENDOP_ADD.
-
D3DRS_POSITIONDEGRedizione Enterprise
-
Grado di interpolazione della posizione N patch. I valori possono essere D3DDEGRedizione Enterprise_CUBIC (impostazione predefinita) o D3DDEGRedizione Enterprise_LINEAR. Per altre informazioni, vedere D3DDEGRedizione Enterprise TYPE.
-
D3DRS_NORMALDEGRedizione Enterprise
-
Grado di interpolazione normale con patch N. I valori possono essere D3DDEGRedizione Enterprise_LINEAR (impostazione predefinita) o D3DDEGRedizione Enterprise_QUADRATIC. Per altre informazioni, vedere D3DDEGRedizione Enterprise TYPE.
-
D3DRS_SCISSORTESTENABLE
-
TRUE per abilitare il test della scissor e FAL edizione Standard disabilitarlo. Il valore predefinito è FAL edizione Standard.
-
D3DRS_SLOPESCALEDEPTHBIAS
-
Usato per determinare la quantità di distorsione che può essere applicata alle primitive co-planari per ridurre la lotta z. Il valore predefinito è 0.
bias = (max * D3DRS_SLOPESCALEDEPTHBIAS) + D3DRS_DEPTHBIAS.
dove max è la pendenza massima di profondità del triangolo di cui viene eseguito il rendering.
-
D3DRS_ANTIALIAedizione Standard DLIN edizione Enterprise NABLE
-
TRUE per abilitare l'anti-aliasing della riga, FAL edizione Standard per disabilitare l'anti-aliasing di riga. Il valore predefinito è FAL edizione Standard.
Quando si esegue il rendering in una destinazione di rendering multisample, D3DRS_ANTIALIAedizione Standard DLIN edizione Enterprise NABLE viene ignorato e viene eseguito il rendering di tutte le righe con alias. Usare ID3DXLine per il rendering di linee antialiased in una destinazione di rendering multisample.
-
D3DRS_MINTESedizione Standard LLATIONLEVEL
-
Livello minimo di tassellatura. Il valore predefinito è 1,0f. Vedi Tassellatura (Direct3D 9).
-
D3DRS_MAXTESedizione Standard LLATIONLEVEL
-
Livello massimo di tassellatura. Il valore predefinito è 1,0f. Vedi Tassellatura (Direct3D 9).
-
D3DRS_ADAPTIVETESS_X
-
Quantità di tassellatura adattiva, nella direzione x. Il valore predefinito è 0,0f. Vedere Tassellatura adattiva.
-
D3DRS_ADAPTIVETESS_Y
-
Quantità di tassellatura adattiva, nella direzione y. Il valore predefinito è 0,0f. Vedere Adaptive_Tessellation.
-
D3DRS_ADAPTIVETESS_Z
-
Quantità di tassellatura adattiva, nella direzione z. Il valore predefinito è 1,0f. Vedere Adaptive_Tessellation.
-
D3DRS_ADAPTIVETESS_W
-
Quantità di tassellatura adattiva, nella direzione w. Il valore predefinito è 0,0f. Vedere Adaptive_Tessellation.
-
D3DRS_ENABLEADAPTIVETESedizione Standard LLATION
-
TRUE per abilitare la tassellatura adattiva, FAL edizione Standard per disabilitarla. Il valore predefinito è FAL edizione Standard. Vedere Adaptive_Tessellation.
-
D3DRS_TWOSIDEDSTENCILMODE
-
TRUE abilita lo stenciling a due lati, FAL edizione Standard lo disabilita. Il valore predefinito è FAL edizione Standard. L'applicazione deve impostare D3DRS_CULLMODE su D3DCULL_NONE per abilitare la modalità stencil a due lati. Se l'ordine di avvolgimento del triangolo è in senso orario, verranno utilizzate le operazioni D3DRS_STENCIL*. Se l'ordine di avvolgimento è antiorario, verranno utilizzate le operazioni D3DRS_CCW_STENCIL*.
Per verificare se lo stencil a due lati è supportato, controllare il membro StencilCaps di D3DC piattaforma di strumenti analitici 9 per D3DSTENCILCpiattaforma di strumenti analitici_TWOSIDED. Vedere anche D3DSTENCILCpiattaforma di strumenti analitici.
-
D3DRS_CCW_STENCILFAIL
-
Operazione stencil da eseguire se il test dello stencil CCW non riesce. I valori provengono dal tipo enumerato D3DSTENCILOP. Il valore predefinito è D3DSTENCILOP_Kedizione Enterprise P.
-
D3DRS_CCW_STENCILZFAIL
-
Operazione stencil da eseguire se il test dello stencil CCW supera e z-test non riesce. I valori provengono dal tipo enumerato D3DSTENCILOP. Il valore predefinito è D3DSTENCILOP_Kedizione Enterprise P.
-
D3DRS_CCW_STENCILPASS
-
Operazione stencil da eseguire se lo stencil CCW e z-test supera. I valori provengono dal tipo enumerato D3DSTENCILOP. Il valore predefinito è D3DSTENCILOP_Kedizione Enterprise P.
-
D3DRS_CCW_STENCILFUNC
-
Funzione di confronto. Il test stencil CCW supera se ((ref & mask) funzione stencil (stencil & mask)) è TRUE. I valori provengono dal tipo enumerato D3DCMPFUNC. Il valore predefinito è D3DCMP_ALWAYS.
-
D3DRS_COLORWRITedizione Enterprise NABLE1
-
Valori ColorWriteEnable aggiuntivi per i dispositivi. Vedere D3DRS_COLORWRITedizione Enterprise NABLE. Questa funzionalità è disponibile se il bit delle funzionalità di D3DPMISCCpiattaforma di strumenti analitici_INDEPENDENTWRITEMASKS è impostato nel membro PrimitiveMiscCaps della struttura D3DC piattaforma di strumenti analitici 9 per il dispositivo. Il valore predefinito è 0x0000000f.
-
D3DRS_COLORWRITedizione Enterprise NABLE2
-
Valori ColorWriteEnable aggiuntivi per i dispositivi. Vedere D3DRS_COLORWRITedizione Enterprise NABLE. Questa funzionalità è disponibile se il bit delle funzionalità di D3DPMISCCpiattaforma di strumenti analitici_INDEPENDENTWRITEMASKS è impostato nel membro PrimitiveMiscCaps della struttura D3DC piattaforma di strumenti analitici 9 per il dispositivo. Il valore predefinito è 0x0000000f.
-
D3DRS_COLORWRITedizione Enterprise NABLE3
-
Valori ColorWriteEnable aggiuntivi per i dispositivi. Vedere D3DRS_COLORWRITedizione Enterprise NABLE. Questa funzionalità è disponibile se il bit delle funzionalità di D3DPMISCCpiattaforma di strumenti analitici_INDEPENDENTWRITEMASKS è impostato nel membro PrimitiveMiscCaps della struttura D3DC piattaforma di strumenti analitici 9 per il dispositivo. Il valore predefinito è 0x0000000f.
-
D3DRS_BLENDFACTOR
-
D3DCOLOR utilizzato per un fattore di fusione costante durante la fusione alfa. Questa funzionalità è disponibile se il bit delle funzionalità di D3DPBLENDCpiattaforma di strumenti analitici_BLENDFACTOR è impostato nel membro SrcBlendCaps di D3DC piattaforma di strumenti analitici 9 o nel membro DestBlendCaps di D3DC piattaforma di strumenti analitici 9. Vedere D3DRENDERSTATETYPE. Il valore predefinito è 0xffffffff.
-
D3DRS_SRGBWRITedizione Enterprise NABLE
-
Abilitare la correzione gamma delle scritture di destinazione di rendering in sRGB. Il formato deve esporre D3DUSAGE_SRGBWRITE. Il valore predefinito è 0.
-
D3DRS_DEPTHBIAS
-
Valore a virgola mobile utilizzato per il confronto dei valori di profondità. Vedi Depth Bias (Direct3D 9). Il valore predefinito è 0.
-
D3DRS_WRAP8
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP9
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP10
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP11
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP12
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP13
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP14
-
Vedere D3DRS_WRAP0.
-
D3DRS_WRAP15
-
Vedere D3DRS_WRAP0.
-
D3DRS_edizione Standard PARATEALPHABLENDENABLE
-
TRUE abilita la modalità di fusione separata per il canale alfa. Il valore predefinito è FAL edizione Standard.
Se impostato su FAL edizione Standard, i fattori e le operazioni di fusione di destinazione di rendering applicati all'alfa devono essere uguali a quelli definiti per il colore. Questa modalità è effettivamente hardwired in FAL edizione Standard sulle implementazioni che non impostano il limite D3DPMISCCpiattaforma di strumenti analitici_edizione Standard PARATEALPHABLEND. Vedere D3DPMISCCpiattaforma di strumenti analitici.
Il tipo di fusione alfa separata è determinato dagli stati di rendering D3DRS_SRCBLENDALPHA e D3DRS_DESTBLENDALPHA.
-
D3DRS_SRCBLENDALPHA
-
Un membro del tipo enumerato D3DBLEND. Questo valore viene ignorato a meno che D3DRS_edizione Standard PARATEALPHABLENDENABLE sia TRUE. Il valore predefinito è D3DBLEND_ONE.
-
D3DRS_DESTBLENDALPHA
-
Un membro del tipo enumerato D3DBLEND. Questo valore viene ignorato a meno che D3DRS_edizione Standard PARATEALPHABLENDENABLE sia TRUE. Il valore predefinito è D3DBLEND_ZERO.
-
D3DRS_BLENDOPALPHA
-
Valore utilizzato per selezionare l'operazione aritmetica applicata alla fusione alfa separata quando lo stato di rendering, D3DRS_edizione Standard PARATEALPHABLENDENABLE, è impostato su TRUE.
I valori validi sono definiti dal tipo enumerato D3DBLENDOP . Il valore predefinito è D3DBLENDOP_ADD.
Se la funzionalità del dispositivo D3DPMISCCpiattaforma di strumenti analitici_BLENDOP non è supportata, viene eseguita D3DBLENDOP_ADD. Vedere D3DPMISCCpiattaforma di strumenti analitici.
-
D3DRS_FORCE_DWORD
-
Forza la compilazione in 32 bit di questa enumerazione. Senza questo valore, alcuni compilatori consentono la compilazione di questa enumerazione in dimensioni diverse da 32 bit. Questo valore non viene utilizzato.
Osservazioni:
Stati di rendering | Campionatore di trame |
---|---|
ps_1_1 a ps_1_3 | 4 campioni di trame |
Direct3D definisce la costante D3DRENDERSTATE_WRAPBIAS per praticità per le applicazioni per abilitare o disabilitare il wrapping delle trame, in base al numero intero in base zero di un set di coordinate della trama (anziché usare in modo esplicito uno dei valori di stato D3DRS_WRAP n). Aggiungere il valore D3DRENDERSTATE_WRAPBIAS all'indice in base zero di un set di coordinate della trama per calcolare il valore D3DRS_WRAP n che corrisponde a tale indice, come illustrato nell'esempio seguente.
// Enable U/V wrapping for textures that use the texture
// coordinate set at the index within the dwIndex variable
HRESULT hr = pd3dDevice->SetRenderState(
dwIndex + D3DRENDERSTATE_WRAPBIAS,
D3DWRAPCOORD_0 | D3DWRAPCOORD_1);
// If dwIndex is 3, the value that results from
// the addition equals D3DRS_WRAP3 (131)
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Vedi anche