Saltar para o conteúdo

Panda3D/Manual/Controle auxiliar de BitPlane

Origem: Wikilivros, livros abertos por um mundo aberto.

Controle Auxiliar de Bitplane

O framebuffer sempre contem um bitplane de cor e um bitplane de profundidade. Ele tambem pode ter um bitplane stencil ou bitplane de acumulação. Em adição, se ele é um framebuffer de render-para-textura, ele pode ter bitplanes auxiliares. Esses bitplanes auxiliares podem ser dados para armazenar mais ou menos dados arbitrarios definidos pelo usuário.

Quando iluminação por pixel esta habilitada atraves do gerador de shader, o gerador de shader pode ser comandado a produzir dados extras nos bitplanes auxiliares. Isso pode ser feito serando um AuxBitplaneAttrib:

np.setAttrib(AuxBitplaneAttrib.make(bits))

Onde bits são um set de bits indicando o que deve ser escrito nos bitplanes auxiliares.

Apesar do canal alfa do framebuffer não ser tecnicamente um bitplane auxiliar. Contudo, desde que ele não é geralmente usado para armazenar qualquer valor de dados, ele pode ser entendido como um bitplane auxiliar: um lugar para armazenar dados definidos pelo usuário.

Quando o gerador de shader não esta habilitado, o atrrib não tem efeito.

Valores que podem ser pedidos:

A seguir temos uma lista de bits que podem ser passados para AuxBitplaneAttrib.make:

   * AuxBitplaneAttrib.ABOGlow: Copia o glow map ( conhecido como mapa de auto-iluminação) no canal alfa do framebuffer. Usualmente isso é um preludio para rodar um filtro bloom em toda a cena.
   * AuxBitplaneAttrib.ABOAuxNormal: Armazena a normal do espaço da camera da superficie do poligono em canais RGB do primeiro bitplane auxilar. Isso  é usualmente usado para ajudar a detectar cantos em um filtro de contorno cartoon.
   * AuxBitplaneAttrib.ABOAuxGlow: copia o glow map no canal alfa do primeiro bitplane auxiliar