public class PointLight extends Light
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:
A PointLight is attenuated by the reciprocal of the sum of:
By default, the constant attenuation value is 1 and the other two values are 0, resulting in no attenuation.
Modifier and Type | Field and Description |
---|---|
static int |
ALLOW_ATTENUATION_READ
Specifies that this PointLight node allows reading its attenuation
information.
|
static int |
ALLOW_ATTENUATION_WRITE
Specifies that this PointLight node allows writing its attenuation
information.
|
static int |
ALLOW_POSITION_READ
Specifies that this PointLight node allows reading its position
information.
|
static int |
ALLOW_POSITION_WRITE
Specifies that this PointLight node allows writing its position
information.
|
ALLOW_COLOR_READ, ALLOW_COLOR_WRITE, ALLOW_INFLUENCING_BOUNDS_READ, ALLOW_INFLUENCING_BOUNDS_WRITE, ALLOW_SCOPE_READ, ALLOW_SCOPE_WRITE, ALLOW_STATE_READ, ALLOW_STATE_WRITE
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
Constructor and Description |
---|
PointLight()
Constructs a PointLight node with default parameters.
|
PointLight(boolean lightOn,
Color3f color,
Point3f position,
Point3f attenuation)
Constructs and initializes a point light.
|
PointLight(Color3f color,
Point3f position,
Point3f attenuation)
Constructs and initializes a point light.
|
Modifier and Type | Method and Description |
---|---|
Node |
cloneNode(boolean forceDuplicate)
Used to create a new instance of the node.
|
void |
getAttenuation(Point3f attenuation)
Gets this Light's current attenuation values and places it in the parameter specified.
|
void |
getPosition(Point3f position)
Gets this Light's current position and places it in the parameter specified.
|
void |
setAttenuation(float constant,
float linear,
float quadratic)
Sets this Light's current attenuation values and places it in the parameter specified.
|
void |
setAttenuation(Point3f attenuation)
Sets this Light's current attenuation values and places it in the parameter specified.
|
void |
setPosition(float x,
float y,
float z)
Set light position.
|
void |
setPosition(Point3f position)
Set light position.
|
addScope, getAllScopes, getColor, getEnable, getInfluencingBoundingLeaf, getInfluencingBounds, getScope, indexOfScope, insertScope, numScopes, removeAllScopes, removeScope, removeScope, setColor, setEnable, setInfluencingBoundingLeaf, setInfluencingBounds, setScope, updateNodeReferences
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString
public static final int ALLOW_POSITION_READ
public static final int ALLOW_POSITION_WRITE
public static final int ALLOW_ATTENUATION_READ
public static final int ALLOW_ATTENUATION_WRITE
public PointLight()
public PointLight(Color3f color, Point3f position, Point3f attenuation)
color
- the color of the light sourceposition
- the position of the light in three-spaceattenuation
- the attenutation (constant, linear, quadratic) of the lightpublic PointLight(boolean lightOn, Color3f color, Point3f position, Point3f attenuation)
lightOn
- flag indicating whether this light is on or offcolor
- the color of the light sourceposition
- the position of the light in three-spaceattenuation
- the attenuation (constant, linear, quadratic) of the lightpublic void setPosition(Point3f position)
position
- the new positionCapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void setPosition(float x, float y, float z)
x
- the new X positiony
- the new Y positionz
- the new Z positionCapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void getPosition(Point3f position)
position
- the vector that will receive this node's positionCapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void setAttenuation(Point3f attenuation)
attenuation
- the vector that will receive the attenuation valuesCapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void setAttenuation(float constant, float linear, float quadratic)
constant
- the light's constant attenuationlinear
- the light's linear attenuationquadratic
- the light's quadratic attenuationCapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void getAttenuation(Point3f attenuation)
attenuation
- the vector that will receive the attenuation valuesCapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic Node cloneNode(boolean forceDuplicate)
cloneTree
to duplicate the current node.cloneNode
in class Node
forceDuplicate
- when set to true
, causes the
duplicateOnCloneTree
flag to be ignored. When
false
, the value of each node's
duplicateOnCloneTree
variable determines whether
NodeComponent data is duplicated or copied.Node.cloneTree()
,
Node.cloneNode(boolean)
,
Node.duplicateNode(org.scijava.java3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
Copyright © 2016–2022 SciJava. All rights reserved.