Panda3D/Manual/As máscaras Color Write
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.