struttura D3D12_RASTERIZER_DESC (d3d12.h)
Descrive lo stato del rasterizzatore.
Sintassi
typedef struct D3D12_RASTERIZER_DESC {
D3D12_FILL_MODE FillMode;
D3D12_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
UINT ForcedSampleCount;
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
} D3D12_RASTERIZER_DESC;
Members
FillMode
Valore tipizzato D3D12_FILL_MODE che specifica la modalità di riempimento da usare durante il rendering.
CullMode
Valore tipizzato D3D12_CULL_MODE che specifica che i triangoli rivolti verso la direzione specificata non vengono disegnati.
FrontCounterClockwise
Determina se un triangolo è anteriore o posteriore. Se questo membro è TRUE, un triangolo verrà considerato anteriore se i relativi vertici sono in senso antiorario sulla destinazione di rendering e considerati fronte retro se sono in senso orario. Se questo parametro è 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.
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
Tipo: UINT
Numero di campioni forzato durante il rendering o la rasterizzazione dell'UAV. I valori validi sono 0, 1, 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 (D3D12_DESCRIPTOR_HEAP_TYPE_RTV) 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, ID3D12ShaderReflection::IsSampleFrequencyShader restituisceFALSE.
ConservativeRaster
Valore tipizzato D3D12_CONSERVATIVE_RASTERIZATION_MODE che identifica se la rasterizzazione conservativa è attivata o disattivata.
Commenti
Un D3D12_GRAPHICS_PIPELINE_STATE_DESC contiene una struttura di stato rasterizzatore.
Lo stato rasterizzatore definisce il comportamento della fase di rasterizzazione.
Se non si specifica uno stato rasterizzatore, il runtime Direct3D usa i valori predefiniti seguenti per lo stato rasterizzatore.
State | Valore predefinito |
---|---|
Fillmode | D3D12_FILL_MODE_SOLID |
CullMode | D3D12_CULL_MODE_BACK |
FrontCounterClockwise | FALSE |
DepthBias | 0 |
DepthBiasC lampadina | 0,0f |
SlopeScaledDepthBias | 0,0f |
DepthClipEnable | TRUE |
MultisampleEnable | FALSE |
AntialiasedLineEnable | FALSE |
ForcedSampleCount | 0 |
Conservatore | D3D12_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
Requisito | Valore |
---|---|
Intestazione | d3d12.h |