struttura D3D10_RASTERIZER_DESC (d3d10.h)
Descrive lo stato del rasterizzatore.
Sintassi
typedef struct D3D10_RASTERIZER_DESC {
D3D10_FILL_MODE FillMode;
D3D10_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL ScissorEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
} D3D10_RASTERIZER_DESC;
Members
FillMode
Tipo: D3D10_FILL_MODE
Membro del tipo enumerato D3D10_FILL_MODE che determina la modalità di riempimento da utilizzare durante il rendering. Il valore predefinito è D3D10_FILL_SOLID.
CullMode
Tipo: D3D10_CULL_MODE
Membro del tipo enumerato D3D10_CULL_MODE che indica se i triangoli rivolti verso la direzione specificata vengono disegnati. Il valore predefinito è D3D10_CULL_BACK.
FrontCounterClockwise
Tipo: BOOL
Determina se un triangolo è rivolto alla parte anteriore o posteriore. Se questo parametro è TRUE, un triangolo viene considerato anteriore se i vertici sono in senso antiorario sulla destinazione di rendering e considerati in senso antiorario se sono in senso orario. Se questo parametro è FALSE, l'opposto è true. Il valore predefinito è FALSE.
DepthBias
Tipo: INT
Specifica il valore di profondità aggiunto a un determinato pixel. Il valore predefinito è 0. Per informazioni sulla distorsione della profondità, vedi Distorsione della profondità.
DepthBiasClamp
Tipo: FLOAT
Specifica la distorsione massima della profondità di un pixel. Il valore predefinito è 0,0f. Per informazioni sulla distorsione della profondità, vedi Distorsione della profondità.
SlopeScaledDepthBias
Tipo: FLOAT
Specifica un scalare sulla pendenza di un determinato pixel. Il valore predefinito è 0,0f. Per informazioni sulla distorsione della profondità, vedi Distorsione della profondità.
DepthClipEnable
Tipo: BOOL
Abilita o disabilita il ritaglio in base alla distanza. Il valore predefinito è TRUE.
L'hardware esegue sempre il ritaglio x e y di coordinate rasterizzate. Quando DepthClipEnable è impostato sul valore predefinito, l'hardware ritaglia anche il valore z, ovvero l'hardware esegue l'ultimo passaggio dell'algoritmo seguente.
0 < w
-w <= x <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
-w <= y <= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)
0 <= z <= w
Quando si imposta DepthClipEnable su FALSE, l'hardware ignora il ritaglio z, ovvero l'ultimo passaggio nell'algoritmo precedente. Tuttavia, l'hardware esegue ancora il ritaglio "0 < w". Quando il ritaglio z è disabilitato, l'ordinamento della profondità non corretto a livello di pixel potrebbe risultare. Tuttavia, quando il ritaglio z è disabilitato, le implementazioni dell'ombreggiatura degli stencil sono semplificate. In altre parole, è possibile evitare una gestione complessa di maiuscole e minuscole speciali per la geometria che va oltre il piano di ritaglio indietro.
ScissorEnable
Tipo: BOOL
Abilitare o disabilitare il culling forssor-rectangle. Tutti i pixel all'esterno di un rettangolo di scissor attivo vengono sincronizzati. Il valore predefinito è FALSE. Per altre informazioni, vedere Impostare il rettangolo di scissor.
MultisampleEnable
Tipo: BOOL
Specifica se utilizzare l'algoritmo anti-aliasing a linee alfa o quadrilaterali nelle destinazioni di rendering anti-aliasing multisample (MSAA). Il valore predefinito è FALSE. Impostare su TRUE per utilizzare l'algoritmo anti-aliasing della linea quadrilatero e su FALSE per usare l'algoritmo anti-aliasing alfa linea. Per altre info su questo membro, vedi Osservazioni.
AntialiasedLineEnable
Tipo: BOOL
Specifica se abilitare l'anti-aliasing della riga; si applica solo quando la fusione alfa è abilitata, si stanno disegnando linee e il membro MultisampleEnable è FALSE. Il valore predefinito è FALSE. Per altre info su questo membro, vedi Osservazioni.
Commenti
Lo stato rasterizzatore definisce il comportamento della fase di rasterizzazione. Per creare un oggetto di stato rasterizzatore, chiamare ID3D10Device::CreateRasterizerState. Per impostare lo stato di rasterizzazione, chiamare ID3D10Device::RSSetState.
Algoritmo di rendering linea | MultisampleEnable | AntialiasedLineEnable |
---|---|---|
Alias | FALSE | FALSE |
Alfa antialiased | FALSE | TRUE |
Quadrilatero | TRUE | FALSE |
Quadrilatero | TRUE | TRUE |
Le impostazioni dei membri MultisampleEnable e AntialiasedLineEnable si applicano solo alle destinazioni di rendering di antialiasing multisample (MSAA), ovvero le destinazioni di rendering con conteggi dei campioni maggiori di 1. A causa delle differenze nel comportamento a livello di funzionalità e purché non si esegua alcun disegno a linee o non si tenga presente che le linee vengono visualizzate come quadrilateri, è consigliabile impostare sempre MultisampleEnable su TRUE ogni volta che si esegue il rendering su destinazioni di rendering MSAA.
Requisiti
Intestazione | d3d10.h |