D3D11_RASTERIZER_DESC struttura (d3d11.h)
Descrive lo stato del rasterizer.
Sintassi
typedef struct D3D11_RASTERIZER_DESC {
D3D11_FILL_MODE FillMode;
D3D11_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL ScissorEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
} D3D11_RASTERIZER_DESC;
Members
FillMode
Tipo: D3D11_FILL_MODE
Determina la modalità di riempimento da usare durante il rendering (vedere D3D11_FILL_MODE).
CullMode
Tipo: D3D11_CULL_MODE
Indica i triangoli che si affacciano sulla direzione specificata non vengono disegnati (vedere D3D11_CULL_MODE).
FrontCounterClockwise
Tipo: BOOL
Determina se un triangolo è anteriore o posteriore. Se questo parametro è TRUE, un triangolo verrà considerato front-front-front se i relativi vertici sono in senso antiorario sulla destinazione di rendering e considerati indietro se sono in senso orario. Se questo parametro è FALSE, l'opposto è true.
DepthBias
Tipo: INT
Valore di profondità aggiunto a un determinato pixel. Per informazioni sulla distorsione della profondità, vedere Bias di profondità.
DepthBiasClamp
Tipo: FLOAT
Distorsione massima della profondità di un pixel. Per informazioni sulla distorsione della profondità, vedere Bias di profondità.
SlopeScaledDepthBias
Tipo: FLOAT
Scalare sulla pendenza di un determinato pixel. Per informazioni sulla distorsione della profondità, vedere Bias di profondità.
DepthClipEnable
Tipo: BOOL
Abilitare il ritaglio in base alla distanza.
L'hardware esegue sempre x e y clipping di coordinate rasterizzate. Quando DepthClipEnable è impostato sul valore predefinito-TRUE, l'hardware cliprà 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 dell'algoritmo precedente. Tuttavia, l'hardware esegue ancora il ritaglio "0 < w". Quando z clipping è disabilitato, l'ordinamento della profondità non corretto a livello di pixel potrebbe risultare. Tuttavia, quando z clipping è disabilitato, le implementazioni shadow stencil sono semplificate. In altre parole, è possibile evitare la gestione di casi speciali complessi per la geometria che supera il piano di ritaglio indietro.
ScissorEnable
Tipo: BOOL
Abilitare il culling scissor-rettangolo. Tutti i pixel esterni a un rettangolo di scissor attivo vengono eliminati.
MultisampleEnable
Tipo: BOOL
Specifica se usare l'algoritmo anti-aliasing della linea alfa o quadrilatero nelle destinazioni di rendering anti-aliasing multisample (MSAA). Impostare su TRUE per usare l'algoritmo anti-aliasing della linea quadrilatero e su FALSE per usare l'algoritmo anti-aliasing della riga alfa. Per altre informazioni su questo membro, vedere Osservazioni.
AntialiasedLineEnable
Tipo: BOOL
Specifica se abilitare l'antialiasing della riga; si applica solo se si esegue il disegno della linea e MultisampleEnable è FALSE. Per altre informazioni su questo membro, vedere Osservazioni.
Commenti
Lo stato rasterizer definisce il comportamento della fase rasterizer. Per creare un oggetto rasterizer-state, chiamare ID3D11Device::CreateRasterizerState. Per impostare lo stato del rasterizer, chiamare ID3D11DeviceContext::RSSetState.
Se non si specifica uno stato rasterizer, il runtime Direct3D usa i valori predefiniti seguenti per lo stato rasterizer.
State | Valore predefinito |
---|---|
Fillmode | Tinta unita |
CullMode | Indietro |
FrontCounterClockwise | FALSE |
DepthBias | 0 |
SlopeScaledDepthBias | 0.0f |
DepthBiasClamp | 0.0f |
DepthClipEnable | TRUE |
ScissorEnable | FALSE |
MultisampleEnable | FALSE |
AntialiasedLineEnable | FALSE |
Algoritmo di rendering linea | MultisampleEnable | AntialiasedLineEnable |
---|---|---|
Alias | FALSE | FALSE |
Alfa antialiased | FALSE | TRUE |
Quadrilatero | TRUE | FALSE |
Quadrilatero | TRUE | TRUE |
Le impostazioni dei membri di rendering MultisampleEnable e AntialiasedLineEnable si applicano solo alle destinazioni di rendering antialiasing multisample (MSAA), ovvero le destinazioni di rendering con conteggi di esempio 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 noti che le linee vengono eseguite come quadrilateri, è consigliabile impostare sempre MultisampleEnable su TRUE ogni volta che si esegue il rendering su destinazioni di rendering MSAA.
Requisiti
Requisito | Valore |
---|---|
Intestazione | d3d11.h |