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. Comclamp 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. Comclamp s
ouclamp t
ouclamp 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 imagemalphafile
for fornecida, essa imagem deve ser do mesmo tamanho que a imagemfile
. 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. Commodulate
, 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. Comblend
, textura harmoniza-se entre cor de fundo (background
) e a cor da superfície. O parâmetrofile
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 porbackground
; e cor é interpolada para valores imediatos. Comdecal
, o parâmetrofile
deve especificar uma imagem de tres cores. Se um parâmetroalphafile
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 mododecal
; 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 quandoapply blend
for selecionado. transformmatriz-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.