vers l'index général
vers la page générale des sources lumineuses
Gérer des groupes de lumières, permettant de faire agir certaines lumières sur certains objets uniquement.
Pour une définition de lumière :
light_source { ... groups "Groupe1,Groupe2,Groupe3,..." }
On spécifie à quels groupes (que l'on nomme comme on veut) appartient la lumière.
Pour une définition d'objet :
object { ... light_group "Groupe1" no_shadow "Groupe2" }
On spécifie à quel groupe de lumières l'objet réagit, et quel groupe de lumières passe à travers sans provoquer d'ombre.
Pour une définition de media :
media { ... light_group "Groupe3" }
On peut employer un point d'exclamation (!) avant un nom de groupe, pour dire "tous les groupes, sauf celui-là"
object { ... light_group "!Groupe4"} //réagit à tous les groupes, sauf Groupe4
30 groupes - au maximum - peuvent coexister, et il existe deux groupes prédéfinis qui sont all, qui inclut, par définition, toutes les sources et none qui n'en inclut aucune.
camera {location <100,100,100> direction z*1 look_at <0,0,0>} plane {y,-5 pigment {White}} sphere {<60,30,50>,15 pigment {White} light_group "Groupe1" //la sphère sera illuminée par les lumières de Groupe1 } torus {30,10 translate <0,20,-30> pigment {White} light_group "Groupe2" //le tore sera illuminé par les lumières de Groupe2 no_shadow "all" //mais ne provoquera aucune ombre } cone {<0,20,50>,20,<-20,50,60>,5 pigment {White} light_group "Groupe3" //le cône sera illuminé par les lumières de Groupe3 } light_source {<-50,150,80> OrangeRed*1.5 groups "Groupe1" //cette lumière appartient à Groupe1 } light_source {<50,150,80> YellowGreen*1.5 groups "Groupe2,Groupe3" //cette lumière appartient à Groupe2 ET Groupe3 }
Il y a une petite distortion sémantique entre le nom de la fonctionnalité et la syntaxe à utiliser. On aura souvent intérêt à penser en termes de "groupes d'objets" influencés par certaines sources lumineuses.
auteur : Fabien Mosen