Point Light Attenuation
Point light rays are attenuated:
-
As distance increases, light brightness decreases
-
Attenuation is controlled by three coefficients:
-
constant, linear, and quadratic
brightness =
|
lightIntensity
constant + linear*distance + quadratic*distance2
|
| Method |
Default |
void setPosition( Point3f pos )
|
0.0, 0.0, 0.0
|
void setAttenuation( Point3f atten )
|
1.0, 0.0, 0.0
|
TransformGroup group = new TransformGroup( );
. . .
PointLight light = new PointLight( );
light.setEnable( true );
light.setColor( new Color3f( 1.0f, 1.0f, 1.0f ) );
light.setPosition( new Point3f( 0.0f, 1.0f, 0.0f ) );
light.setAttenuation( new Point3f( 1.0f, 0.0f, 0.0f ) );
. . .
light.setInfluencingBounds( bounds );
group.addChild( light );