Registri di output
- Registro colori vertice
- Registro nebbia
- Position_Register
- Point_Size_Register
- Texture_Coordinate_Register
I nomi dei registri sono preceduti da una lettera minuscola o, a indicare che i registri di output sono di sola scrittura.
Registro colori vertice - oD0, oD1
oD0 è il registro colori diffuso. oD1 è il registro dei colori speculari. Il valore oD0 viene interpolato e viene scritto nel registro colori di input 0 (v0) del pixel shader. Il valore oD1 viene interpolato e scritto nel registro colori di input 1 (v1) del pixel shader. Per altre informazioni sui registri dei colori del pixel shader, vedere Registri.
Versioni del vertex shader | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Registro colori vertice | x | x | x | x |
Registro nebbia - oFog
Registra il valore di nebbia di output. Il valore è il fattore di nebbia da interpolare e quindi instradare alla tabella nebbia. Viene utilizzato solo il componente x scalare della nebbia. I valori vengono bloccati tra zero e uno prima di passare al rasterizzatore.
Versioni del vertex shader | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Registro nebbia | x | x | x | x |
Position Register - oPos
Registra la posizione di output. Il valore è la posizione nello spazio di ritaglio omogeneo. Questo valore deve essere scritto dal vertex shader.
Versioni del vertex shader | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Registro posizioni | x | x | x | x |
Registro dimensioni punto - oPts
Registri delle dimensioni del punto di output. Viene usato solo il componente x scalare della dimensione del punto.
Versioni del vertex shader | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Registro dimensioni punto | x | x | x | x |
Registro coordinate trama - da oT0 a oT7
Registra le coordinate della trama di output. In particolare, si tratta di una matrice di registri di dati di output che vengono iterati e usati come coordinate di trama dalle fasi di campionamento delle trame che instradano i dati al pixel shader.
Versioni del vertex shader | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Registro coordinate trama | x | x | x | x |
Quando si scrive in un registro delle coordinate della trama, è consigliabile passare solo il numero di valori a virgola mobile della dimensione della mappa trama corrispondente. Controllare i valori passati con un modificatore. Ad esempio, usare .xy per una mappa trama 2D.
Quando la proiezione di trama è abilitata per una fase di trama, tutti e quattro i valori a virgola mobile devono essere scritti nel registro di trama corrispondente.
Uno dei flag di trasformazione della trama D3DTTFF* deve essere zero quando viene usata la pipeline programmabile.
Intervallo di coordinate trama
I dati dei vertici dell'oggetto forniscono coordinate di trama di input. Gli oggetti che non usano trame affiancate hanno in genere coordinate di trama nell'intervallo [0,1]. Gli oggetti che usano trame affiancate, ad esempio il terreno, in genere hanno coordinate di trama che vanno da [-?,+?] dove? può essere un numero a virgola mobile elevato.
L'interpolazione delle coordinate della trama viene eseguita sui dati dei vertici per la rasterizzazione. Durante la rasterizzazione, le coordinate delle trame vengono interpolate tra i vertici dell'oggetto, modificate dal wrapping delle trame e ridimensionate in base alle dimensioni della trama (tenendo conto anche della modalità indirizzo trama) per produrre un indice intero. L'indice viene quindi usato per eseguire una ricerca di trama. MaxTextureRepeat può essere usato per determinare il numero di volte in cui una trama può essere affiancata.
Se le coordinate della trama vengono lette direttamente in un pixel shader (usando texcoord o texcrd), l'intervallo di coordinate della trama dipende dall'istruzione e dalla versione del pixel shader.
Argomenti correlati