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.