Panda3D/Manual/As máscaras Color Write

Origem: Wikilivros, livros abertos por um mundo aberto.

Mascaras Color Write

Mascaras de color write permitem que voce escreva blocos para os canais Veremelho, Verde, Azul e Alfa do framebuffer. Essa não é uma habilidade frequentemente usada, mas ela tem algumas aplicações:

   * Quando se estiver usando um oculos 3D vermelho-azul, voce pode querer renderizar a imagem vermelha, depois a azul. De fato, Panda usa essa tecnica autoamticamente quando voce sera o red-blue-stereo 1 no seu arquivo config.prc
   * Pods de Batalha Battletech conecta 3 monitores preto-e-branco á um unico output de placa de video RGB Com a ajuda de mascaras de color write, voce pode atualizar um monitor individual.
   * As vezes voce pode querer armazenar dados no canal alfa do ramebuffer. Usando uma mascara de cor pode-se evitar acidentalmente sobrescrever os dados.

Usando uma mascara de escrita de cores não é inexpensivo. Durante renderização normal, cada pixel que é escrito para o framebuffer requer escrever na memória. Com uma mascara de cor ativa, um ciclo de ler-modificar-escrever na memoria é preciso, o que é mais dispendioso.

Por padrao, mascaras de color write estão desligadas.

Ligando a mascara de Cor

Para habilitar escritas para todos os canais do framebuffer, use isso:

bits = ColorWriteAttrib.CAlpha bits |= ColorWriteAttrib.CRed bits |= ColorWriteAttrib.CGreen bits |= ColorWriteAttrib.CBlue nodePath.setAttrib(ColorWriteAttrib.make(bits))

Para desabilitar escritas para um ou mais canais, omita aquele bit. Voce pode usar tambem:

nodePath.setAttrib(ColorWriteAttrib.make(ColorWriteAttrib.CAll))

Para habilitar todos os bits.