estrutura D3D10_RASTERIZER_DESC (d3d10.h)
Descreve o estado do rasterizador.
Sintaxe
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;
Membros
FillMode
Tipo: D3D10_FILL_MODE
Um membro do D3D10_FILL_MODE tipo enumerado que determina o modo de preenchimento a ser usado durante a renderização. O valor padrão é D3D10_FILL_SOLID.
CullMode
Tipo: D3D10_CULL_MODE
Um membro do D3D10_CULL_MODE tipo enumerado que indica se triângulos voltados para a direção especificada são desenhados. O valor padrão é D3D10_CULL_BACK.
FrontCounterClockwise
Tipo: BOOL
Determina se um triângulo é voltado para a frente ou para trás. Se esse parâmetro for TRUE, um triângulo será considerado frontal se seus vértices estiverem no sentido anti-horário no destino de renderização e considerados voltados para trás se forem no sentido horário. Se esse parâmetro for FALSE, o oposto será verdadeiro. O valor padrão é FALSE.
DepthBias
Tipo: INT
Especifica o valor de profundidade adicionado a um determinado pixel. O valor padrão é 0. Para obter informações sobre o viés de profundidade, consulte Desvio de profundidade.
DepthBiasClamp
Tipo: FLOAT
Especifica o desvio máximo de profundidade de um pixel. O valor padrão é 0,0f. Para obter informações sobre o viés de profundidade, consulte Desvio de profundidade.
SlopeScaledDepthBias
Tipo: FLOAT
Especifica um escalar na inclinação de um determinado pixel. O valor padrão é 0,0f. Para obter informações sobre o viés de profundidade, consulte Desvio de profundidade.
DepthClipEnable
Tipo: BOOL
Habilita ou desabilita o recorte com base na distância. O valor padrão é TRUE.
O hardware sempre executa o recorte x e y de coordenadas rasterizadas. Quando DepthClipEnable é definido como o valor padrão, o hardware também corta o valor z (ou seja, o hardware executa a última etapa do algoritmo a seguir).
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 você define DepthClipEnable como FALSE, o hardware ignora o recorte z (ou seja, a última etapa no algoritmo anterior). No entanto, o hardware ainda executa o recorte "0 < w". Quando o recorte z está desabilitado, a ordenação de profundidade inadequada no nível de pixel pode resultar. No entanto, quando o recorte z está desabilitado, as implementações de sombra de estêncil são simplificadas. Em outras palavras, você pode evitar o tratamento complexo de maiúsculas e minúsculas especiais para geometria que vai além do plano de recorte traseiro.
ScissorEnable
Tipo: BOOL
Habilitar ou desabilitar o corte de retângulo de tesoura. Todos os pixels fora de um retângulo de tesoura ativo são abatidos. O valor padrão é FALSE. Para obter mais informações, consulte Definir o retângulo de tesoura.
MultisampleEnable
Tipo: BOOL
Especifica se o algoritmo anti-aliasing de linha alfa ou quadrilateral deve ser usado em destinos de renderização msaa (suavização de várias várias linhas). O valor padrão é FALSE. Defina como TRUE para usar o algoritmo anti-aliasing de linha quadrilateral e como FALSE para usar o algoritmo de anti-alias de linha alfa. Para obter mais informações sobre esse membro, consulte Comentários.
AntialiasedLineEnable
Tipo: BOOL
Especifica se a suavização de linha deve ser habilitada; só se aplica quando a mesclagem alfa está habilitada, você está desenhando linhas e o membro MultisampleEnable é FALSE. O valor padrão é FALSE. Para obter mais informações sobre esse membro, consulte Comentários.
Comentários
O estado do rasterizador define o comportamento do estágio do rasterizador. Para criar um objeto de estado de rasterizador, chame ID3D10Device::CreateRasterizerState. Para definir o estado do rasterizador, chame ID3D10Device::RSSetState.
Algoritmo de renderização de linha | MultisampleEnable | AntialiasedLineEnable |
---|---|---|
Alias | FALSE | FALSE |
Suavização alfa | FALSE | TRUE |
Quadrilateral | TRUE | FALSE |
Quadrilateral | TRUE | TRUE |
As configurações dos membros MultisampleEnable e AntialiasedLineEnable se aplicam somente a destinos de renderização msaa (suavização de várias amostras) (ou seja, renderizar destinos com contagens de exemplo maiores que 1). Devido às diferenças no comportamento no nível do recurso e desde que você não esteja executando nenhum desenho de linha ou não se importe que as linhas sejam renderizadas como quadriláteros, recomendamos que você sempre defina MultisampleEnable como TRUE sempre que renderizar em destinos de renderização MSAA.
Requisitos
Cabeçalho | d3d10.h |