public abstract class SAbstractAttenuatedLight extends SAbstractLight implements SAttenuatedLight
AMBIENT_LIGHT_CODE, APERTURE_MASK_LIGHT_CODE, DIRECTIONAL_LIGHT_CODE, ELLIPTICAL_APERTURE_LIGHT_CODE, LINEAR_APERTURE_LIGHT_CODE, POINT_LIGHT_CODE, RECTANGULAR_APERTURE_LIGHT_CODE| Constructor and Description |
|---|
SAbstractAttenuatedLight()
Constructeur d'une source de lumière blanche sans facteur d'atténuation positionné à l'origine.
|
SAbstractAttenuatedLight(SColor color,
SVector3d position)
Constucteur d'une source de lumière avec une couleur particulière sans facteur d'atténuation.
|
SAbstractAttenuatedLight(SColor color,
SVector3d position,
double amp,
double cst_att,
double lin_att,
double quad_att)
Constructeur d'une source de lumière.
|
| 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.
|
java.lang.String[] |
getReadableParameterName()
Méthode pour obtenir un tableau des mots clés permettant de définir les paramètres de l'objet implémentant l'interface SReadable lors de sa lecture.
|
getColorwritereadequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetCodeName, getColorwritegetReadableNamepublic SAbstractAttenuatedLight()
public SAbstractAttenuatedLight(SColor color, SVector3d position)
color - La couleur de la source de lumière.public SAbstractAttenuatedLight(SColor color, SVector3d position, double amp, double cst_att, double lin_att, double quad_att) throws SConstructorException
color - La couleur de la source de lumière.position - La positon de la source de lumière.amp - Le facteur d'amplification de la source de lumière.cst_att - La constante d'atténuation à taux constant.lin_att - La constante d'atténuation à taux linéaire.quad_att - La constante d'atténuation à taux quadratique.SConstructorException - Si des facteurs d'atténuation sont initialisés avec des valeurs erronées.public SVector3d getPosition()
SAttenuatedLightgetPosition in interface SAttenuatedLightpublic double attenuation(SVector3d position_to_illuminate) throws SRuntimeException
SAttenuatedLightMé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é.
attenuation in interface SAttenuatedLightposition_to_illuminate - - La position à éclairer.SRuntimeException - Si le facteur d'atténuation A tend vers l'infini (dénominateur étant égal à zéro).public double amplification()
SAttenuatedLightMé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.
amplification in interface SAttenuatedLightSColorpublic SVector3d getOrientation(SVector3d position_to_illuminate) throws SRuntimeException
SAttenuatedLightgetOrientation in interface SAttenuatedLightposition_to_illuminate - - La position à illuminerSRuntimeException - Si la position à illuminer est située sur la source de lumière.public java.lang.String[] getReadableParameterName()
SReadablegetReadableParameterName in interface SReadablegetReadableParameterName in class SAbstractLight