Introdução à VRML 2.0
(Profa. Isabel Harb Manssour)

[Anterior]  [Próxima]  [Principal]

 

6. Controlando a Aparência de Shapes

É possível controlar a aparência de qualquer shape especificando-se atributos do material a partir do qual ele é feito. Atributos do material incluem cor, quando ele brilha e qual é a cor do brilho, quando e o quanto ele é transparente, etc. Usando os nós Appearance e Material é possível controlar estes atributos. Como já visto, shapes VRML são definidos através de dois campos, geometria (geometry) e aparência (appearance), onde o valor utilizado é o nó Appearance. Similarmente, os atributos deste nó são separados nos nós Material e de textura. A sintaxe destes nós, cujos campos são descritos neste capítulo, está apresentada a seguir.

Appearance {
	material		NULL	# SFNode
	texture			NULL	# SFNode
	textureTransform	NULL	# SFNode
}
Material {
	ambientIntensity	0.2		# SFFloat
	diffuseColor		0.8 0.8 0.8	# SFColor
	emissiveColor		0.0 0.0 0.0	# SFColor
	shininess		0.2		# SFFloat
	specularColor		0.0 0.0 0.0	# SFColor
	transparency		0.0		# SFFloat
}

As cores em VRML são descritas de uma maneira mais precisa, combinando porções de vermelho, verde e azul (ou RGB). Cores RGB contêm três valores de ponto flutuante que variam de 0.0 (não possui a cor) a 1.0 (cor máxima). A cor refletida pelo objeto é especificada através do campo diffuseColor. Já o campo emissiveColor, por sua vez, possibilita a obtenção de efeitos de brilho, pois através dele é possível especificar-se a cor emitida pelo objeto. É importante salientar que através deste campo não é possível iluminar shapes próximas, ele só indica que o shape é mais brilhante do que o usual.

O valor do campo transparency determina um fator de transparência entre 0.0 (opaco) e 1.0 (transparente), e ambientIntensity determina como o material é afetado pelo nível de luz ambiente do "mundo" VRML. Quanto mais baixo for o valor, menor é o efeito da luz sobre o material. specularColor especifica a cor da luz refletida pelo shape, isto é, a cor do brilho. O valor default para este campo é preto, que desabilita a reflexão especular. Finalmente, shininess controla a intensidade do brilho, sendo que 0.0 torna-o mais escuro. O efeito visual para este campo consiste na redução do tamanho da reflexão especular. É importante salientar que os navegadores VRML incluem automaticamente uma headlight que move-se de acordo com a posição do observador.

A textura na verdade nada mais é do que uma imagem 2D mapeada em um objeto. O valor do campo texture do nó Material consiste num nó que especifica a imagem da textura a ser aplicada a um shape. Tal nó pode ser ImageTexture, PixelTexture ou MovieTexture.

ImageTexture {
	url		[ ]	# MFString
	repeatS		TRUE	# SFBool
	repeatT		TRUE	# SFBool
}

O campo url especifica uma lista de URLs ordenadas por prioridade. O navegador tenta abrir a primeira URL especificada na lista, se não encontrar, ele pega a próxima e assim por diante. Quando uma URL pode ser aberta, o arquivo é lido e mapeado como textura do shape. O arquivo que contém a textura pode ter formato JPEG ou PNG. Alguns navegadores também aceitam o formato GIF. Os campos repeatS e repeatT podem ter os valores TRUE (a textura é repetida dentro do sistema de coordenadas da textura) ou FALSE (textura não é repetida).

PixelTexture {
	image		0 0 0	# SFImage
	repeatS		TRUE	# SFBool
	repeatT		TRUE	# SFBool
}

Este nó especifica uma imagem, ou atributos de mapeamento de textura, no próprio arquivo VRML. O valor para o campo image determina o tamanho da imagem e valores de pixel para uma textura de imagem. Os primeiros três valores inteiros são a largura da imagem em pixels, a altura da imagem também é pixels e o número de bytes para cada pixel. Os campos repeatS e repeatT são iguais ao nó anterior.

MovieTexture {
	url		[ ]	# MFString
	loop		FALSE	# SFBool
	speed		1.0	# SFFloat
	startTime	0.0	# SFTime
	stopTime	0.0	# SFTime
	repeatS		TRUE	# SFBool
	repeatT		TRUE	# SFBool
	isActive		# SFBool
	duration_changed	# SFBool
}

O nó MovieTexture permite mapear uma textura animada para um objeto. Os formatos suportados são: MPEG1-Systems e MPEG1-Video. Além de campos para especificar a textura a ser mapeada, o nó possui campos que permitem controlar a exibição do filme: velocidade, horas de início, hora de fim e indicador de laço da exibição.

 ../Imagens/EMBAN15.GIF (1469 bytes)

../Imagens/E-MAIL.JPG (3237 bytes) Comentários, dúvidas, sugestões, envie um mail para manssour@inf.pucrs.br

../Imagens/EMBAN15.GIF (1469 bytes)


[Anterior]  [Próxima]  [Principal]

Última alteração em 27 de julho de 2000.