Previous: Aparencias, Up: Convencoes


4.1.11 Mapeamento de Textura

Alguns programas que trabalham sem contato direto com o usuário suportam objetos mapeados em textura, atualmente apenas o OpenGL e a interface RenderMan no momento dessa escrita. Existe também alguns recursos com a interface RMan quando em uso um canal alfa na imagem de textura. Aqueles programas que não trabalham diretamente com o usuário cujo suporte a textura não existe silenciosamente ignoram tentativas de uso de mapeamento de textura. Uma textura é especificada como parte de uma estrutura de aparência (Veja Aparencias). Resumidamente, se fornece uma imagem de textura (Veja também Objetos de imagem), a qual é considerada contida em um quadrado no espaço parametrizado (s,t) no intervalo 0 <= s <= 1, 0 <= t <= 1. Então se fornece uma primitiva geométrica, com cada vértice acompanhado com as coordenadas de textura (s,t). Se a texturização estiver habilitada, a porção apropriada da imagem de textura é colada sobre cada face do objeto texturizado.

Não existe (atualmente) nenhuma provisão para herança de parte de uma estrutura de textura; se a palavra chave texture é mencionada em uma aparência, essa mensão suplanta qualquer outra especificação de textura.

O atributo de aparência texturing controla se texturas são usadas; não existe perda de performace tendo campos "texture { ... }" definidos quando a utilização de texturas está desabilitada.

Os campos de textura disponíveis são:

     clamp   none  -ou-  s  -ou-  t  -ou-  st
       Determina o significado de coordenadas de textura fora do intervalo
       0..1. Com clamp none, o padrão, coordenadas são
       interpretadas modulo 1, então (s,t) = (1.25,0), (.25,0), e (-.75,0)
       referem-se todos ao mesmo ponto no espaço das texturas.  Com
       clamp s ou clamp t ou clamp st, individualmente
       ou ambos de s-coordenadas ou t-coordenadas menor que 0 ou
       maior que 1 são remapeadas para 1 ou para 0, respectivamente.
     
     image { <especificação de imagem> (Objetos de imagem) }
       Especifica a atual imagem de textura. Imagens de textura podem ter
       1, 2, 3 ou 4 canais:
         1 canal:  luminância
         2 canais: luminância e alfa (opcidade:0 transparente, 1 opaco)
         3 canais: dados RGB
         4 canais: dados RGBA
     
       Veja Objetos de imagem, para a definição atual de
       objetos de imagem. O canal usado por alfa é somente interpretado
       como máscara: onde a mácara é zero, pixels são simplesmente
       omitidos. Uma exceção é o caso onde apply
       é igual a modulate e a translucência está habilitada:
       nesse caso o valor de alfa resultante é o resultado da
       multiplicação da cor da superfície pelo valor de alfa do
       canal alfa da textura.
     
     file      nomearquivo
     alphafile nomearquivo
       Isso é considerado obsoleto, e somente mantido por compatibilidade,
       o moderno caminho é usar o novo objeto imagem OOGL. Veja
       Objetos de imagem.  O material documentado aqui pode
       ainda funcionar apesar disso
     
       Especifica arquivos de imagem contendo a textura.
     
       A palavra chave file especifica um arquivo com informações de cor
       ou de brilho; alphafile se presente, especifica uma máscara de
       transparência ("alpha"); onde a máscara for zero, pixels simplesmente
       são omitidos.  Muitos formatos de arquivo de imagem estão
       disponíveis; o tipo de arquivo deve ser indicado pelos últmos poucos
       caracteres do nome do arquivo:
         .ppm ou .ppm.Z ou .ppm.gz  24-bit 3-color imagem no formato PPM
         .pgm ou .pgm.Z ou .pgm.gz  8-bit tons de cinza imagem no formato PGM
         .sgi ou .sgi.Z ou .sgi.gz  8-bit, 24-bit, ou 32-bit imagem SGI
         .tiff                      8-bit ou 24-bit imagem TIFF
         .gif                       imagem GIF
       Para esse recurso trabalhar, alguns programas devem estar disponíveis
       no caminho de busca do Geomview:
         zcat  para arquivo .Z
         gzip  para arquivos .gz
         tifftopnm para arquivos .tiff
         giftoppm para arquivos .gif
     
       Se uma imagem alphafile for fornecida, essa imagem deve ser do mesmo
       tamanho que a imagem file.
     
       Objetos imagem fornecem um caminho mais flexível para especificar dados de
       textura. Veja Objetos de imagem.
     
     apply   modulate  -ou-  blend  -ou-  decal
       Indica como a imagem de textura é aplicada à superfície.
       Aqui a "surface color" (cor da superfície) significa a cor que a
       superfície pode ter   na ausência de mapeamento de textura.
     
       Com modulate, o padrão, a cor de textura (ou iluminação,
       se texturizado por meio de uma imagem de escala de cinza) é multiplicada
       pela cor da superfície.
     
       Com blend, textura harmoniza-se entre cor de fundo (background)
       e a cor da superfície.  O parâmetro file deve especificar uma
       imagem de escala de cinza.  Onde a imagem de textura é 0, a cor da
       superfície permanece inalterada; onde for 1, a superfície é
       colorida na cor dada por background; e cor é interpolada para
       valores imediatos.
     
       Com decal, o parâmetro file deve especificar uma
       imagem de tres cores.  Se um parâmetro alphafile estiver presente,
       seus valores interpolam-se entre a cor da superfície (onde alpha=0)
       e a cor de textura (onde alpha=1).  Iluminação não afeta a
       cor de textura no modo decal; efetivamente a textura é
       tonalidademente constante.
     
     background  R G B A
       Especifica uma cor com 4 componentes, com números R, G, B, e A em
       ponto flutuante normalmente no intervalo 0..1, usados quando
       apply blend for selecionado.
     
     transform matriz-de-transformação
       Espera uma lista de 16 números, ou um dos outros caminhos de
       representar uma transformação (: nomecabeçalho ou
       < nomearquivo). A matriz 4x4 de transformação é
       aplicada a coordenadas de textura, no sentido de um vetor linha de
       4 componentes (s,t,0,1) multiplicado à esquerda pela matriz, para
       produzir novas coordenadas (s',t') às quais atualmente indexam a
       textura.