Couleurs & textures

Appearance

Le noeud Appearance spécifie les propriétés visuelles des formes géométriques. Ce noeud contient 3 champs définissant la matière, la texture, et la modification de cette texture.

Material

Le noeud Material est contenu dans le champ material d'un noeud Appearance. Il décrit la matière des objets 3D, il est lui même décomposé en plusieurs champs :

#VRML V2.0 utf8

Group {
children [
Transform {
translation -2 0 -2

children Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
} } # fin Appearance
geometry DEF boite Box { size 1 1 1 }
}}, # fin premier element

Transform {
translation 0 0 -2
children Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 0
}}
geometry USE boite
}}, # fin deuxieme element

Transform {
translation 2 0 -2
children Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
transparency 0.5
}}
geometry USE boite
}} # fin troisieme element
]
}

Les couleurs sont normalisées selon la forme Rouge, Vert, Bleu.

Texture

Le champ texture peut contenir soit une image, soit une image pixélisée, soit une séquence vidéo.

ImageTexture

Le noeud ImageTexture définit une image plaquée sur l'objet. Ce noeud possède 3 champs :

Les formats d'image reconnus sont les suivants : JPEG, PNG et GIF.

#VRML V2.0 utf8

Transform {
translation -0 0 -2
children Shape {
appearance Appearance {
texture ImageTexture {
url ["../img/brick.gif"]
}} # fin Appearance
geometry DEF boite Box { size 3 2 0.2 }
}}

PixelTexture

Le noeud PixelTexture plaque sur l'objet une image pixélisée définie dans le champ image comme une suite explicite de valeurs de couleurs de pixels. Ce noeud possède 3 champs :

Dans le champs image, les données sont rangées comme suit : largeur, hauteur, nombre de composants et (largeur*hauteur) valeurs codées en hexadécimal. Le nombre de composants est codé selon ce procédé :

#VRML V2.0 utf8

Transform {
translation -0 0 -2
children Shape {
appearance Appearance {
texture PixelTexture {
image 2 4 3
0xFF0000 0x00FF00
0xFF00FF 0x0000FF
0x00FFFF 0xFFFFFF
0x000000 0xF0F0F0
}} # fin Appearance
geometry DEF boite Box { size 3 2 0.2 }
}}

MovieTexture

Le Noeud MovieTexture définit une texture comme un film. Ce noeud possède les champs principaux suivants :

Il est à noter que seul le format MPEG est pris en compte.

TextureTransform

Le noeud TextureTransform applique des modifications géométriques à la texture d'un objet. Ce noeud possède les champs suivants :

#VRML V2.0 utf8

Transform {
translation -0 0 -2
children Shape {
appearance Appearance {
texture ImageTexture {
url ["../img/brick.gif"]
}
textureTransform TextureTransform {
center 0 0
rotation 0.3
scale 2 2
translation 0 0
} } # fin Appearance
geometry DEF boite Box { size 3 2 0.2 }
}}