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.
- texture.
- textureTransform.
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 :
- diffuseColor
: couleur principale réfléchie par l'objet.
- ambientIntensity
: intensité de base de l'objet.
- emissiveColor
: couleur émise par l'objet.
- transparency
: coefficient de transparence de l'objet, une valeur de 1 donne un objet totalement
transparent.
- shininess
: coefficient de brillance de l'objet, différencie les objets mats,
0, des objets brillants, 1.
- specularColor
: couleur de l'ombrage.
#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 :
- url
: adresse de l'image.
- repeatS
: booléen définissant si le motif doit ou non être répété
sur l'axe X.
- repeatT
: booléen définissant si le motif doit ou non être répété
sur l'axe Y.
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 :
- image
: données de l'image pixel par pixel.
- repeatS
: booléen définissant si le motif doit ou non être répété
sur l'axe X.
- repeatT
: booléen définissant si le motif doit ou non être répété
sur l'axe Y.
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é :
- 1 seul composant
représente l'intensité du pixel.
- 2 composants
représentent l'intensité puis la transparence.
- 3 composants
représentent les valeurs RGB du pixel.
- 4 composants
représentent les valeurs RGB suivies de la transparence.
#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 :
- loop
: booléen définissant si le film doit être joué
en boucle.
- speed
: valeur utilisée pour augmenter ou diminuer la vitesse de lecture.
- url
: adresse du film.
- repeatS
: booléen définissant si le motif doit ou non être répété
sur l'axe X.
- repeatT
: booléen définissant si le motif doit ou non être répété
sur l'axe Y.
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 :
- center
: centre de la rotation.
- rotation
: angle de rotation appliquée sur la texture et exprimé en radians.
- scale
: changement d'échelle à appliquer à la texture.
- translation
: translation à appliquer à la texture.
#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 }
}}
|
|