D3D11_RASTERIZER_DESC1 struttura (d3d11_1.h)
Sintassi
typedef struct D3D11_RASTERIZER_DESC1 {
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_RASTERIZER_DESC1;
Members
FillMode
Tipo: D3D11_FILL_MODE
Determina la modalità di riempimento da usare durante il rendering.
CullMode
Tipo: D3D11_CULL_MODE
Indica che i triangoli che si affacciano sulla direzione specificata non vengono disegnati.
FrontCounterClockwise
Tipo: BOOL
Specifica se un triangolo è anteriore o posteriore. Se TRUE, un triangolo verrà considerato front-front-front se i relativi vertici sono in senso antiorario nella destinazione di rendering e considerati indietro se sono in senso orario. Se 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
Specifica se 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
Specifica se abilitare l'attivazione della culling di 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.
ForcedSampleCount
Tipo: UINT
Numero di esempi 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 numero di campioni non è forzato.
- Non associare le visualizzazioni di profondità-stencil.
- Disabilitare i test di profondità.
- Assicurarsi che lo shader non restituisca la profondità di output.
- Se sono presenti visualizzazioni di destinazione di rendering (D3D11_BIND_RENDER_TARGET) e ForcedSampleCount è maggiore di 1, assicurarsi che ogni destinazione di rendering disponga solo di un singolo esempio.
- Non operare lo shader in corrispondenza della frequenza di esempio. Pertanto, ID3D11ShaderReflection::IsSampleFrequencyShader restituisceFALSE.
Commenti
Lo stato rasterizer definisce il comportamento della fase rasterizer. Per creare un oggetto rasterizer-state, chiamare ID3D11Device1::CreateRasterizerState1. 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 |
ForcedSampleCount | 0 |
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
Client minimo supportato | Windows 8 e Platform Update per Windows 7 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 R2 [app desktop | App UWP] |
Intestazione | d3d11_1.h |