Condividi tramite


CD3D11_RASTERIZER_DESC1 struttura (d3d11_1.h)

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

Sintassi

struct CD3D11_RASTERIZER_DESC1 : D3D11_RASTERIZER_DESC1 {
  void CD3D11_RASTERIZER_DESC1();
  void CD3D11_RASTERIZER_DESC1(
    const D3D11_RASTERIZER_DESC1 & o
  );
  void CD3D11_RASTERIZER_DESC1(
    CD3D11_DEFAULT unnamedParam1
  );
  void CD3D11_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
  );
  void ~CD3D11_RASTERIZER_DESC1();
};

Ereditarietà

La struttura CD3D11_RASTERIZER_DESC1 implementa D3D11_RASTERIZER_DESC1 .

Membri

void CD3D11_RASTERIZER_DESC1()

void CD3D11_RASTERIZER_DESC1( const D3D11_RASTERIZER_DESC1 & o)

void CD3D11_RASTERIZER_DESC1( CD3D11_DEFAULT unnamedParam1)

void CD3D11_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)

void ~CD3D11_RASTERIZER_DESC1()

Commenti

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.

CullMode

Tipo: D3D11_CULL_MODE

Indica che i triangoli che si affacciano sulla direzione specificata non vengono disegnati.

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à.

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.

Fillmode

Tipo: D3D11_FILL_MODE

Determina la modalità di riempimento da usare durante il rendering.

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.
 

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.

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.

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.

SlopeScaledDepthBias

Tipo: FLOAT

Scalare sulla pendenza di un determinato pixel. Per informazioni sulla distorsione della profondità, vedere Bias di profondità.

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 di rendering MultisampleEnable e AntialiasedLineEnable si applicano solo alle destinazioni di rendering antialiasing multisample (MSAA), ovvero le destinazioni di rendering con conteggi di esempio 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 noti che le linee vengono eseguite come quadrilateri, è consigliabile impostare sempre MultisampleEnable su TRUE ogni volta che si esegue il rendering su destinazioni di rendering MSAA.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 e Aggiornamento della piattaforma 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