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
-
public class LinearFog extends Fog
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
Fields Modifier and Type Field Description static int
ALLOW_DISTANCE_READ
Specifies that this LinearFog node allows read access to its distance information.static int
ALLOW_DISTANCE_WRITE
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
Constructors Constructor Description LinearFog()
Constructs 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Node
cloneNode(boolean forceDuplicate)
Used to create a new instance of the node.double
getBackDistance()
Gets back distance for fog.double
getFrontDistance()
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 Detail
-
ALLOW_DISTANCE_READ
public static final int ALLOW_DISTANCE_READ
Specifies that this LinearFog node allows read access to its distance information.- See Also:
- Constant Field Values
-
ALLOW_DISTANCE_WRITE
public static final int ALLOW_DISTANCE_WRITE
Specifies that this LinearFog node allows write access to its distance information.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
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 Detail
-
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
public Node cloneNode(boolean forceDuplicate)
Used to create a new instance of the node. This routine is called bycloneTree
to duplicate the current node.- Overrides:
cloneNode
in classNode
- Parameters:
forceDuplicate
- when set totrue
, causes theduplicateOnCloneTree
flag to be ignored. Whenfalse
, the value of each node'sduplicateOnCloneTree
variable determines whether NodeComponent data is duplicated or copied.- See Also:
Node.cloneTree()
,Node.cloneNode(boolean)
,Node.duplicateNode(javax.media.j3d.Node, boolean)
,NodeComponent.setDuplicateOnCloneTree(boolean)
-
-