| java.lang.Object javax.media.j3d.SceneGraphObject javax.media.j3d.Node javax.media.j3d.Leaf javax.media.j3d.Light javax.media.j3d.PointLight
All known Subclasses: javax.media.j3d.SpotLight,
PointLight | public class PointLight extends Light (Code) | | The PointLight object specifies an attenuated light source at a
fixed point in space that radiates light equally in all directions
away from the light source. PointLight has the same attributes as
a Light node, with the addition of location and attenuation
parameters.
A point light contributes to diffuse and specular reflections,
which in turn depend on the orientation and position of a
surface. A point light does not contribute to ambient reflections.
A PointLight is attenuated by multiplying the contribution of the
light by an attenuation factor. The attenuation factor causes the
the PointLight's brightness to decrease as distance from the light
source increases.
A PointLight's attenuation factor contains three values:
- Constant attenuation
- Linear attenuation
- Quadratic attenuation
A PointLight is attenuated by the reciprocal of the sum of:
The constant attenuation factor
The Linear attenuation factor times the distance between the light
and the vertex being illuminated
The quadratic attenuation factor times the square of the distance
between the light and the vertex
By default, the constant attenuation value is 1 and the other
two values are 0, resulting in no attenuation.
|
Field Summary | |
final public static int | ALLOW_ATTENUATION_READ Specifies that this PointLight node allows reading its attenuation
information. | final public static int | ALLOW_ATTENUATION_WRITE Specifies that this PointLight node allows writing its attenuation
information. | final public static int | ALLOW_POSITION_READ Specifies that this PointLight node allows reading its position
information. | final public static int | ALLOW_POSITION_WRITE Specifies that this PointLight node allows writing its position
information. |
Constructor Summary | |
public | PointLight() Constructs a PointLight node with default parameters. | public | PointLight(Color3f color, Point3f position, Point3f attenuation) Constructs and initializes a point light. | public | PointLight(boolean lightOn, Color3f color, Point3f position, Point3f attenuation) Constructs and initializes a point light. |
Method Summary | |
public Node | cloneNode(boolean forceDuplicate) Used to create a new instance of the node. | void | createRetained() Creates the retained mode PointLightRetained object that this
PointLight component object will point to. | void | duplicateAttributes(Node originalNode, boolean forceDuplicate) Copies all PointLight information from
originalNode into
the current node. | public void | getAttenuation(Point3f attenuation) Gets this Light's current attenuation values and places it in the parameter specified. | public void | getPosition(Point3f position) Gets this Light's current position and places it in the parameter specified. | public void | setAttenuation(Point3f attenuation) Sets this Light's current attenuation values and places it in the parameter specified. | public void | setAttenuation(float constant, float linear, float quadratic) Sets this Light's current attenuation values and places it in the parameter specified. | public void | setPosition(Point3f position) Set light position. | public void | setPosition(float x, float y, float z) Set light position. |
ALLOW_ATTENUATION_READ | final public static int ALLOW_ATTENUATION_READ(Code) | | Specifies that this PointLight node allows reading its attenuation
information.
|
ALLOW_ATTENUATION_WRITE | final public static int ALLOW_ATTENUATION_WRITE(Code) | | Specifies that this PointLight node allows writing its attenuation
information.
|
ALLOW_POSITION_READ | final public static int ALLOW_POSITION_READ(Code) | | Specifies that this PointLight node allows reading its position
information.
|
ALLOW_POSITION_WRITE | final public static int ALLOW_POSITION_WRITE(Code) | | Specifies that this PointLight node allows writing its position
information.
|
PointLight | public PointLight()(Code) | | Constructs a PointLight node with default parameters.
The default values are as follows:
position : (0,0,0)
attenuation : (1,0,0)
|
PointLight | public PointLight(Color3f color, Point3f position, Point3f attenuation)(Code) | | Constructs and initializes a point light.
Parameters: color - the color of the light source Parameters: position - the position of the light in three-space Parameters: attenuation - the attenutation (constant, linear, quadratic) of the light |
PointLight | public PointLight(boolean lightOn, Color3f color, Point3f position, Point3f attenuation)(Code) | | Constructs and initializes a point light.
Parameters: lightOn - flag indicating whether this light is on or off Parameters: color - the color of the light source Parameters: position - the position of the light in three-space Parameters: attenuation - the attenuation (constant, linear, quadratic) of the light |
cloneNode | public Node cloneNode(boolean forceDuplicate)(Code) | | Used to create a new instance of the node. This routine is called
by cloneTree to duplicate the current node.
Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree variable determines whetherNodeComponent data is duplicated or copied. See Also: Node.cloneTree See Also: Node.cloneNode See Also: Node.duplicateNode See Also: NodeComponent.setDuplicateOnCloneTree |
createRetained | void createRetained()(Code) | | Creates the retained mode PointLightRetained object that this
PointLight component object will point to.
|
duplicateAttributes | void duplicateAttributes(Node originalNode, boolean forceDuplicate)(Code) | | Copies all PointLight information from
originalNode into
the current node. This method is called from the
cloneNode method which is, in turn, called by the
cloneTree method.
Parameters: originalNode - the original node to duplicate. Parameters: forceDuplicate - when set to true , causes theduplicateOnCloneTree flag to be ignored. Whenfalse , the value of each node'sduplicateOnCloneTree variable determines whetherNodeComponent data is duplicated or copied. exception: RestrictedAccessException - if this object is part of a liveor compiled scenegraph. See Also: Node.duplicateNode See Also: Node.cloneTree See Also: NodeComponent.setDuplicateOnCloneTree |
getAttenuation | public void getAttenuation(Point3f attenuation)(Code) | | Gets this Light's current attenuation values and places it in the parameter specified.
Parameters: attenuation - the vector that will receive the attenuation values exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph |
getPosition | public void getPosition(Point3f position)(Code) | | Gets this Light's current position and places it in the parameter specified.
Parameters: position - the vector that will receive this node's position exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph |
setAttenuation | public void setAttenuation(Point3f attenuation)(Code) | | Sets this Light's current attenuation values and places it in the parameter specified.
Parameters: attenuation - the vector that will receive the attenuation values exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph |
setAttenuation | public void setAttenuation(float constant, float linear, float quadratic)(Code) | | Sets this Light's current attenuation values and places it in the parameter specified.
Parameters: constant - the light's constant attenuation Parameters: linear - the light's linear attenuation Parameters: quadratic - the light's quadratic attenuation exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph |
setPosition | public void setPosition(Point3f position)(Code) | | Set light position.
Parameters: position - the new position exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph |
setPosition | public void setPosition(float x, float y, float z)(Code) | | Set light position.
Parameters: x - the new X position Parameters: y - the new Y position Parameters: z - the new Z position exception: CapabilityNotSetException - if appropriate capability isnot set and this object is part of live or compiled scene graph |
|
|