Compartilhar via


Stencil Operations

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Estêncil buffers são com suporte na Microsoft® Direct3D® Mobile como parte do pipeline de processamento pixel. As operações estêncil são programável via múltiplo processar afirma que controle o vários testes e Resultados da unidade de estêncil. Para usar uma reserva estêncil, você deve adicionar um canalizar estêncil para a reserva profundidade quando você cria seu reserva profundidade. Se há não reserva profundidade, ou se a reserva profundidade tiver não canalizar estêncil, em seguida, a reserva estêncil não será habilitado. Este verificar não será executada na Middleware Mobile Direct3D, mas no próprio driver.

Todas as operações estêncil estão ligadas para o estado processar D3DMRS_STENCILENABLE (consulte D3DMRENDERSTATETYPE). Este estado processar controla se o estêncil reserva e estêncil reserva operações são habilitado. Você pode definir o valor para esse estado processar, chamado de IDirect3DMobileDevice::SetRenderState método.

Dados iniciais estêncil

As entradas para testar o estêncil são o valor estêncil para este pixel de reserva de estêncil, o valor de referência estêncil e os resultados de buferização de profundidade testar.

O valor estêncil para cada pixel é ler a partir de reserva estêncil. Antes desse valor avançado para a comparação estêncil-lo, é combinado em uma operação bit a bit E com a ler estêncil máscara. Ler o estêncil máscara é especificada pelo valor para o estado processar D3DMRS_STENCILMASK. Bits no estado de processar valor que possuem não correspondente bits no valor de reserva estêncil são ignorados. Para relacionado Consulte informações Pixels de escrita.

O valor de referência estêncil é controlado pelo estado de processar D3DMRS_STENCILREF. Bits no estado de processar valor que possuem não correspondente bits no valor de reserva estêncil são ignorados.

Os resultados de buferização de profundidade testar são encaminhados da unidade de processamento profundidade.

Comparações estêncil

A função de comparação estêncil é especificada pelo estado de processar D3DMRS_STENCILFUNC. O valor para esse estado processar deve vir enumeração forma a D3DMCMPFUNC.

Ações estêncil

Direct3D Mobile usa tanto os resultados da comparação estêncil e os resultados da comparação de profundidade para determinar qual estêncil executar ação. As ações possíveis são controladas pelo D3DMSTENCILOP enumeração valores definidos para os estados processar D3DMRS_STENCILFAIL, D3DMRS_STENCILZFAIL e D3DMRS_STENCILPASS. Juntamente com as condições específicas correspondente a esses estados processar, se tanto a testar profundidade a testar estêncil falharem para um pixel e processamento neste pixel é interrompido após a ação estêncil completo.

See Also

Concepts

Per Pixel Operations