Package javax.media.j3d
Class LinearFog
java.lang.Object
javax.media.j3d.SceneGraphObject
javax.media.j3d.Node
javax.media.j3d.Leaf
javax.media.j3d.Fog
javax.media.j3d.LinearFog
The LinearFog leaf node defines fog distance parameters for
linear fog.
LinearFog extends the Fog node by adding a pair of distance values,
in Z, at which the fog should start obscuring the scene and should maximally
obscure the scene.
The front and back fog distances are defined in the local coordinate system of the node, but the actual fog equation will ideally take place in eye coordinates.
The linear fog blending factor, f
, is computed as follows:
f = (backDistance - z) / (backDistance - frontDistance)
z
is the distance from the viewpoint.frontDistance
is the distance at which fog starts obscuring objects.backDistance
is the distance at which fog totally obscurs objects.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Specifies that this LinearFog node allows read access to its distance information.static final int
Specifies that this LinearFog node allows write access to its distance information.Fields inherited from class javax.media.j3d.Fog
ALLOW_COLOR_READ, ALLOW_COLOR_WRITE, ALLOW_INFLUENCING_BOUNDS_READ, ALLOW_INFLUENCING_BOUNDS_WRITE, ALLOW_SCOPE_READ, ALLOW_SCOPE_WRITE
Fields inherited from class javax.media.j3d.Node
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 Summary
ConstructorsConstructorDescriptionConstructs a LinearFog node with default parameters.LinearFog
(float r, float g, float b) Constructs a LinearFog node with the specified fog color.LinearFog
(float r, float g, float b, double frontDistance, double backDistance) Constructs a LinearFog node with the specified fog color and distances.LinearFog
(javax.vecmath.Color3f color) Constructs a LinearFog node with the specified fog color.LinearFog
(javax.vecmath.Color3f color, double frontDistance, double backDistance) Constructs a LinearFog node with the specified fog color and distances. -
Method Summary
Modifier and TypeMethodDescriptioncloneNode
(boolean forceDuplicate) Used to create a new instance of the node.double
Gets back distance for fog.double
Gets front distance for fog.void
setBackDistance
(double backDistance) Sets back distance for fog.void
setFrontDistance
(double frontDistance) Sets front distance for fog.Methods inherited from class javax.media.j3d.Fog
addScope, getAllScopes, getColor, getInfluencingBoundingLeaf, getInfluencingBounds, getScope, indexOfScope, insertScope, numScopes, removeAllScopes, removeScope, removeScope, setColor, setColor, setInfluencingBoundingLeaf, setInfluencingBounds, setScope, updateNodeReferences
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString
-
Field Details
-
ALLOW_DISTANCE_READ
public static final int ALLOW_DISTANCE_READSpecifies that this LinearFog node allows read access to its distance information.- See Also:
-
ALLOW_DISTANCE_WRITE
public static final int ALLOW_DISTANCE_WRITESpecifies that this LinearFog node allows write access to its distance information.- See Also:
-
-
Constructor Details
-
LinearFog
public LinearFog()Constructs a LinearFog node with default parameters. The default values are as follows:-
front distance : 0.1
back distance : 1.0
-
LinearFog
public LinearFog(javax.vecmath.Color3f color) Constructs a LinearFog node with the specified fog color.- Parameters:
color
- the fog color
-
LinearFog
public LinearFog(javax.vecmath.Color3f color, double frontDistance, double backDistance) Constructs a LinearFog node with the specified fog color and distances.- Parameters:
color
- the fog colorfrontDistance
- the front distance for the fogbackDistance
- the back distance for the fog
-
LinearFog
public LinearFog(float r, float g, float b) Constructs a LinearFog node with the specified fog color.- Parameters:
r
- the red component of the fog colorg
- the green component of the fog colorb
- the blue component of the fog color
-
LinearFog
public LinearFog(float r, float g, float b, double frontDistance, double backDistance) Constructs a LinearFog node with the specified fog color and distances.- Parameters:
r
- the red component of the fog colorg
- the green component of the fog colorb
- the blue component of the fog colorfrontDistance
- the front distance for the fogbackDistance
- the back distance for the fog
-
-
Method Details
-
setFrontDistance
public void setFrontDistance(double frontDistance) Sets front distance for fog.- Parameters:
frontDistance
- the distance at which fog starts obscuring objects- Throws:
CapabilityNotSetException
- if appropriate capability is not set and this object is part of live or compiled scene graph
-
getFrontDistance
public double getFrontDistance()Gets front distance for fog.- Returns:
- the distance at which fog starts obscuring objects
- Throws:
CapabilityNotSetException
- if appropriate capability is not set and this object is part of live or compiled scene graph
-
setBackDistance
public void setBackDistance(double backDistance) Sets back distance for fog.- Parameters:
backDistance
- the distance at which fog totally obscurs objects- Throws:
CapabilityNotSetException
- if appropriate capability is not set and this object is part of live or compiled scene graph
-
getBackDistance
public double getBackDistance()Gets back distance for fog.- Returns:
- the distance at which fog totally obscurs objects
- Throws:
CapabilityNotSetException
- if appropriate capability is not set and this object is part of live or compiled scene graph
-
cloneNode
Used to create a new instance of the node. This routine is called bycloneTree
to duplicate the current node.
-