|
|
|
Membre de ClickFR, Reseau francophone Paie-Par-Click |
|
|
Type | Champ | Defaut | Borne | Utilisation |
SFFloat | ambiantIntensity | 0 | 0-1 | Intensité de la lumière ambiante |
SFVect3f | attenuation | 1 0 0 | - | Atténuation de l'éclairage en fonction de la distance |
SFColor | color | 1 1 1 | 0 - 1 | Couleur de la lumière |
SFFloat | intensity | 1 | 0-1 | Intensité (0=nulle 1= maximale) |
SFVect3f | location | 0 0 0 | - | Emplacement de la lumière |
SFBool | on | TRUE | TRUE - FALSE | Lumière allumée ou éteinte ? |
SFFloat | radius | 100 | > 0 | Distance max que la lumière peut atteindre |
Le noeud PointLight définit une lumière omnidirectionnelle (qui éclaire dans toutes les directions) à une position de la scène donnée. Cette lumière possède une couleur, une intensité, une éclairage jusqu'à une distance donnée et l'atténuation de la lumière en fonction de la distance est paramétrable. Elle joue aussi sur la lumière ambiante de la scène.
D'une manière générale, une lumière éclaire directement les objets qui l'entourent. Dans la réalité, l'éclairage est beaucoup plus compliqué : Les rayons de lumière rebondissent sur les objets pour éclairer d'autres objets de la scène (c'est aussi le principe de la radiosité). Ce calcul serait trop long pour un affichage en temps réel de la scène, on considère donc qu'une lumière dans la scène éclaire non seulement l'objet, mais participe à la lumière ambiante de la scène.
La lumière ambiante est appliquée à tous les objets de la scène, elle est ajoutée aux autres lumières éclairant directement les objets. Pour chaque surface, on peut définir à quel point elle réagit à cette lumière ambiante (voir Material).
Le champ ambiantIntensity détermine à quel point la lumière participe à la lumière ambiante.
Voici la création d'un lumière simple, éclairant une sphère.
Voir le résultat - Voir la source
Voici trois lumières de couleurs différentes qui éclairent une sphère blanche. Remarquez le mélange de couleur
Voir le résultat - Voir la source
L'atténuation est calculée selon l'équation :
1/max(attenuation[0] + attenuation[1]×r + attenuation[2]×r2,1)
Où r est la distance de la lumière à la surface éclairée. En appliquant l'équation vous voyez que par défaut, il n'y a pas d'atténuation. (attenuation 1 0 0 = r n'entre pas en compte dans l'équation)
Exemple sans atténuation :
Voir le résultat - Voir la source
Exemple avec atténuation :
Voir le résultat - Voir la source
Accueil de VRML Worlds | CHAT 3D | Autres technologies Web3D |
Des textures | Apprendre le VRML | Autres mondes multi-user |
Les objets du chat | Outils pour le VRML | Autres sites 3D |