D3D11_RASTERIZER_DESC1 struttura (d3d11_1.h)

Nota Questa struttura è supportata dal runtime Direct3D 11.1, disponibile nei sistemi operativi Windows 8 e versioni successive.
 
Descrive lo stato del rasterizer.

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.

Nota Se si vuole eseguire il rendering con ForcedSampleCount impostato su 1 o versione successiva, è necessario seguire queste linee guida:
  • 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.
In caso contrario, il comportamento di rendering non è definito. Per informazioni su come configurare lo stencil di profondità, vedere Configurazione della funzionalità Depth-Stencil.
 

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
 
Nota Per i livelli di funzionalità 9.1, 9.2, 9.3 e 10.0, se si imposta MultisampleEnable su FALSE, il runtime esegue il rendering di tutti i punti, le linee e i triangoli senza aliasing anche per le destinazioni di rendering con un numero di campioni maggiore di 1. Per i livelli di funzionalità 10.1 e versioni successive, l'impostazione di MultisampleEnable non ha alcun effetto su punti e triangoli per quanto riguarda MSAA e influisce solo sulla selezione dell'algoritmo di rendering della linea, come illustrato in questa tabella:
 
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

Vedi anche

Strutture principali