struttura D3D10_RASTERIZER_DESC (d3d10.h)

Descrive lo stato del rasterizzatore.

Sintassi

typedef struct D3D10_RASTERIZER_DESC {
  D3D10_FILL_MODE FillMode;
  D3D10_CULL_MODE CullMode;
  BOOL            FrontCounterClockwise;
  INT             DepthBias;
  FLOAT           DepthBiasClamp;
  FLOAT           SlopeScaledDepthBias;
  BOOL            DepthClipEnable;
  BOOL            ScissorEnable;
  BOOL            MultisampleEnable;
  BOOL            AntialiasedLineEnable;
} D3D10_RASTERIZER_DESC;

Members

FillMode

Tipo: D3D10_FILL_MODE

Membro del tipo enumerato D3D10_FILL_MODE che determina la modalità di riempimento da utilizzare durante il rendering. Il valore predefinito è D3D10_FILL_SOLID.

CullMode

Tipo: D3D10_CULL_MODE

Membro del tipo enumerato D3D10_CULL_MODE che indica se i triangoli rivolti verso la direzione specificata vengono disegnati. Il valore predefinito è D3D10_CULL_BACK.

FrontCounterClockwise

Tipo: BOOL

Determina se un triangolo è rivolto alla parte anteriore o posteriore. Se questo parametro è TRUE, un triangolo viene considerato anteriore se i vertici sono in senso antiorario sulla destinazione di rendering e considerati in senso antiorario se sono in senso orario. Se questo parametro è FALSE, l'opposto è true. Il valore predefinito è FALSE.

DepthBias

Tipo: INT

Specifica il valore di profondità aggiunto a un determinato pixel. Il valore predefinito è 0. Per informazioni sulla distorsione della profondità, vedi Distorsione della profondità.

DepthBiasClamp

Tipo: FLOAT

Specifica la distorsione massima della profondità di un pixel. Il valore predefinito è 0,0f. Per informazioni sulla distorsione della profondità, vedi Distorsione della profondità.

SlopeScaledDepthBias

Tipo: FLOAT

Specifica un scalare sulla pendenza di un determinato pixel. Il valore predefinito è 0,0f. Per informazioni sulla distorsione della profondità, vedi Distorsione della profondità.

DepthClipEnable

Tipo: BOOL

Abilita o disabilita il ritaglio in base alla distanza. Il valore predefinito è TRUE.

L'hardware esegue sempre il ritaglio x e y di coordinate rasterizzate. Quando DepthClipEnable è impostato sul valore predefinito, 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

Tipo: BOOL

Abilitare o disabilitare il culling forssor-rectangle. Tutti i pixel all'esterno di un rettangolo di scissor attivo vengono sincronizzati. Il valore predefinito è FALSE. Per altre informazioni, vedere Impostare il rettangolo di scissor.

MultisampleEnable

Tipo: BOOL

Specifica se utilizzare l'algoritmo anti-aliasing a linee alfa o quadrilaterali nelle destinazioni di rendering anti-aliasing multisample (MSAA). Il valore predefinito è FALSE. 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

Tipo: BOOL

Specifica se abilitare l'anti-aliasing della riga; si applica solo quando la fusione alfa è abilitata, si stanno disegnando linee e il membro MultisampleEnable è FALSE. Il valore predefinito è FALSE. Per altre info su questo membro, vedi Osservazioni.

Commenti

Lo stato rasterizzatore definisce il comportamento della fase di rasterizzazione. Per creare un oggetto di stato rasterizzatore, chiamare ID3D10Device::CreateRasterizerState. Per impostare lo stato di rasterizzazione, chiamare ID3D10Device::RSSetState.

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, linee e triangoli senza anti-aliasing anche per le destinazioni di rendering con un numero di campioni maggiore di 1. Per il livello di funzionalità 10.1, l'impostazione di MultisampleEnable non ha alcun effetto sui punti e sui triangoli relativi all'account del servizio gestito e influisce solo sulla selezione dell'algoritmo di rendering della riga, 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

   
Intestazione d3d10.h

Vedi anche

Strutture principali