estrutura D3D11_RASTERIZER_DESC (d3d11.h)
Descreve o estado do rasterizador.
Sintaxe
typedef struct D3D11_RASTERIZER_DESC {
D3D11_FILL_MODE FillMode;
D3D11_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL ScissorEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
} D3D11_RASTERIZER_DESC;
Membros
FillMode
Tipo: D3D11_FILL_MODE
Determina o modo de preenchimento a ser usado ao renderizar (consulte D3D11_FILL_MODE).
CullMode
Tipo: D3D11_CULL_MODE
Indica que triângulos voltados para a direção especificada não são desenhados (consulte D3D11_CULL_MODE).
FrontCounterClockwise
Tipo: BOOL
Determina se um triângulo está voltado para frente ou para trás. Se esse parâmetro for TRUE, um triângulo será considerado voltado para a frente se seus vértices estiverem no sentido anti-horário no destino de renderização e forem considerados voltados para trás se forem no sentido horário. Se esse parâmetro for FALSE, o oposto será verdadeiro.
DepthBias
Tipo: INT
Valor de profundidade adicionado a um determinado pixel. Para obter informações sobre o viés de profundidade, consulte Viés de profundidade.
DepthBiasClamp
Tipo: FLOAT
Viés de profundidade máxima de um pixel. Para obter informações sobre o viés de profundidade, consulte Viés de profundidade.
SlopeScaledDepthBias
Tipo: FLOAT
Escalar na inclinação de um determinado pixel. Para obter informações sobre o viés de profundidade, consulte Viés de profundidade.
DepthClipEnable
Tipo: BOOL
Habilite o recorte com base na distância.
O hardware sempre executa o recorte x e y de coordenadas rasterizadas. Quando DepthClipEnable é definido como o padrão –TRUE, 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 do 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 a manipulação complexa de casos especiais para geometria que vai além do plano de recorte traseiro.
ScissorEnable
Tipo: BOOL
Habilitar o abate de retângulo de tesoura. Todos os pixels fora de um retângulo de tesoura ativo são abatidos.
MultisampleEnable
Tipo: BOOL
Especifica se o algoritmo de anti-aliasing de linha alfa ou quadrilateral deve ser usado em destinos de renderização de análise de várias camadas (MSAA). Defina como TRUE para usar o algoritmo anti-aliasing de linha quadrilateral e como FALSE para usar o algoritmo de anti-aliasing 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 se fazer desenho de linha e MultisampleEnable for 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 rasterizer-state, chame ID3D11Device::CreateRasterizerState. Para definir o estado do rasterizador, chame ID3D11DeviceContext::RSSetState.
Se você não especificar algum estado de rasterizador, o runtime do Direct3D usará os seguintes valores padrão para o estado do rasterizador.
Estado | Valor padrão |
---|---|
Fillmode | Sólido |
CullMode | Voltar |
FrontCounterC no sentido horário | FALSE |
DepthBias | 0 |
SlopeScaledDepthBias | 0.0f |
DepthBiasClamp | 0.0f |
DepthClipEnable | TRUE |
ScissorEnable | FALSE |
MultisampleEnable | FALSE |
AntialiasedLineEnable | FALSE |
Algoritmo de renderização de linha | MultisampleEnable | AntialiasedLineEnable |
---|---|---|
Alias | FALSE | FALSE |
Alfa suavizado | FALSE | TRUE |
Quadrilateral | TRUE | FALSE |
Quadrilateral | TRUE | TRUE |
As configurações dos membros MultisampleEnable e AntialiasedLineEnable aplicam-se somente a destinos de renderização de várias amostras (MSAA) (ou seja, renderizar destinos com contagens de exemplo superiores a 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 você renderizar em destinos de renderização MSAA.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | d3d11.h |