public interface SAttenuatedLight extends SLight
Modifier and Type | Method and Description |
---|---|
double |
amplification()
Méthode pour obtenir le facteur d'amplification de la source de lumière.
|
double |
attenuation(SVector3d position_to_illuminate)
Méthode pour obtenir le facteur d'atténuation A qui dépend de la distance d
entre le point à éclairer et la source de lumière.
|
SVector3d |
getOrientation(SVector3d position_to_illuminate)
Méthode pour obtenir l'orientation de la source de lumière en fonction de la position du point à illuminer.
|
SVector3d |
getPosition()
Méthode pour obtenir la position de la source de lumière.
|
getCodeName, getColor
write
SVector3d getPosition()
SVector3d getOrientation(SVector3d position_to_illuminate) throws SRuntimeException
position_to_illuminate
- - La position à illuminerSRuntimeException
- Si la position à illuminer est située sur la source de lumière.double attenuation(SVector3d position_to_illuminate) throws SRuntimeException
Méthode pour obtenir le facteur d'atténuation A qui dépend de la distance d entre le point à éclairer et la source de lumière. La formule utilisée est
Cependant, si la distance d est inférieure à 1, le facteur d'atténuation A peut être supérieur à 1.0 (A > 1) ce qui donnera une intensité accrue à la couleur de la source de lumière. Le choix de normalisation de la couleur devra être judicieusement afin de créer l'effet visuel désiré.
position_to_illuminate
- - La position à éclairer.SRuntimeException
- Si le facteur d'atténuation A tend vers l'infini (dénominateur étant égal à zéro).double amplification()
Méthode pour obtenir le facteur d'amplification de la source de lumière. Cependant, une couleur amplifiée peut faire excéder un canal de couleur au-delà de 1.0. Dans cette situation, il sera important de bien choisir l'algorithme de normalisation des couleurs afin d'obtenir le résultat désiré .
En utilisant cette option dans un shader, cela permet d'attribuer plus d'importance à une source de lumière.
SColor