
Couleurs et ombrages complexes
Le noeud color
- Il a priorite sur material.
- Il permet un meilleur controle des couleurs pour IndexedLineSet et IndexedFaceSet.
- Il permet d'appliquer une couleur differente pour chaque points ou faces.
papillon.wrl
Code source
Le noeud Color contient une liste de couleurs RGB:
IndexedFaceSet {
coord Coordinate {
point [...]
}
coordIndex [...]
color Color {
color [1 0.5 0,...]
}
colorIndex [3, 0, 1,...]
colorPerVertex TRUE
}
Si colorPerVertex est sur TRUE (par defaut) specifiez une couleur par point.
Si colorPerVertex est sur FALSE specifiez une couleur par face ou ligne.
Controler l'ombrage avec Normal
Le but est de definir un angle d'eclairage pour chaque face en utilisant des normales, ceci
pour IndexedFaceSet et ElevationGrid
(les normales par defaut sont souvent suffisantes)Il existe deux moyens pour cela:
- Definire les champs normal, normalIndex et normalPerVertex
- Definir creaseAngle qui genere des normales automatiquement
Normal
Le champs Normal defini la direction des faces
IndexedFaceSet {
....
Normal {
vector [
1 0 0, #vers la gauche ou droite
0 1 0, #vers le haut ou bas
0 0 1, #vers l'avant ou arriere
...
]
}
normalIndex [ 3, 0, 2...]
}
creaseAngle
Il defini automatiquement des normales en fonction d'un seul angle
IndexedFaceSet {
...
creaseAngle 0.5 #angle en radians
}
Si l'angle defini par ceaseAngle est superieur a l'angle de la
face adjacente,celle ci seront ombrees a plat.
Si l'angle defini par ceaseAngle est inferieur a l'angle de la face
adjacente,l'ombrage sera progressif.En general les angles faibles
donnent de meilleurs resultats.