struttura D3D11_RASTERIZER_DESC2 (d3d11_3.h)
Descrive lo stato del rasterizzatore.
Sintassi
typedef struct D3D11_RASTERIZER_DESC2 {
D3D11_FILL_MODE FillMode;
D3D11_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL ScissorEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
UINT ForcedSampleCount;
D3D11_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
} D3D11_RASTERIZER_DESC2;
Members
FillMode
Valore tipizzato D3D11_FILL_MODE che determina la modalità di riempimento da usare durante il rendering.
CullMode
Valore tipizzato D3D11_CULL_MODE che indica che i triangoli rivolti verso la direzione specificata non vengono disegnati.
FrontCounterClockwise
Specifica se un triangolo è anteriore o posteriore. Se TRUE, un triangolo verrà considerato anteriore se i vertici sono in senso antiorario sulla destinazione di rendering e considerati in senso antiorario se sono in senso orario. Se FALSE, l'opposto è true.
DepthBias
Valore di profondità aggiunto a un determinato pixel. Per informazioni sulla distorsione della profondità, vedi Distorsione della profondità.
DepthBiasClamp
Distorsione massima della profondità di un pixel. Per informazioni sulla distorsione della profondità, vedi Distorsione della profondità.
SlopeScaledDepthBias
Scalare sulla pendenza di un determinato pixel. Per informazioni sulla distorsione della profondità, vedi Distorsione della profondità.
DepthClipEnable
Specifica se abilitare il ritaglio in base alla distanza.
L'hardware esegue sempre il ritaglio x e y di coordinate rasterizzate. Quando DepthClipEnable è impostato su default-TRUE, 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
Specifica se abilitare il culling forssor-rectangle. Tutti i pixel all'esterno di un rettangolo di scissor attivo vengono sincronizzati.
MultisampleEnable
Specifica se utilizzare l'algoritmo anti-aliasing a linee alfa o quadrilaterali nelle destinazioni di rendering anti-aliasing multisample (MSAA). 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
Specifica se abilitare l'anti-aliasing della riga; si applica solo se si esegue il disegno a linee e MultisampleEnable è FALSE. Per altre info su questo membro, vedi Osservazioni.
ForcedSampleCount
Numero di campioni forzato durante il rendering o la rasterizzazione dell'UAV. I valori validi sono 0, 1, 2, 4, 8 e facoltativamente 16. 0 indica che il conteggio dei campioni non è forzato.
- Non associare le visualizzazioni depth-stencil.
- Disabilitare il test di profondità.
- Assicurarsi che lo shader non restituisca profondità.
- Se sono associate visualizzazioni di destinazione di rendering (D3D11_BIND_RENDER_TARGET) e ForcedSampleCount è maggiore di 1, assicurarsi che ogni destinazione di rendering abbia un solo esempio.
- Non usare lo shader alla frequenza di campionamento. Di conseguenza, ID3D11ShaderReflection::IsSampleFrequencyShader restituisceFALSE.
ConservativeRaster
Valore tipizzato D3D11_CONSERVATIVE_RASTERIZATION_MODE che identifica se la rasterizzazione conservativa è attivata o disattivata.
Commenti
Lo stato rasterizzatore definisce il comportamento della fase di rasterizzazione. Per creare un oggetto di stato rasterizzatore, chiamare ID3D11Device3::CreateRasterizerState2. Per impostare lo stato di rasterizzazione, chiamare ID3D11DeviceContext::RSSetState.
Se non si specifica uno stato rasterizzatore, il runtime Direct3D usa i valori predefiniti seguenti per lo stato rasterizzatore.
State | Valore predefinito |
---|---|
Fillmode | Tinta unita |
CullMode | Indietro |
FrontCounterClockwise | FALSE |
DepthBias | 0 |
SlopeScaledDepthBias | 0,0f |
DepthBiasC lampadina | 0,0f |
DepthClipEnable | TRUE |
ScissorEnable | FALSE |
MultisampleEnable | FALSE |
AntialiasedLineEnable | FALSE |
ForcedSampleCount | 0 |
Conservatore | D3D11_CONSERVATIVE_RASTERIZATION_MODE_OFF |
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 | d3d11_3.h |