Package javax.media.j3d
Class ExponentialFog
- java.lang.Object
-
- javax.media.j3d.SceneGraphObject
-
- javax.media.j3d.Node
-
- javax.media.j3d.Leaf
-
- javax.media.j3d.Fog
-
- javax.media.j3d.ExponentialFog
-
public class ExponentialFog extends Fog
The ExponentialFog leaf node extends the Fog leaf node by adding a fog density that is used as the exponent of the fog equation. The density is defined in the local coordinate system of the node, but the actual fog equation will ideally take place in eye coordinates.The fog blending factor, f, is computed as follows:
-
f = e-(density * z)
where
- z is the distance from the viewpoint.
density is the density of the fog.
-
-
Field Summary
Fields Modifier and Type Field Description static int
ALLOW_DENSITY_READ
Specifies that this ExponentialFog node allows read access to its density information.static int
ALLOW_DENSITY_WRITE
Specifies that this ExponentialFog node allows write access to its density 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 ExponentialFog()
Constructs an ExponentialFog node with default parameters.ExponentialFog(float r, float g, float b)
Constructs an ExponentialFog node with the specified fog color.ExponentialFog(float r, float g, float b, float density)
Constructs an ExponentialFog node with the specified fog color and density.ExponentialFog(javax.vecmath.Color3f color)
Constructs an ExponentialFog node with the specified fog color.ExponentialFog(javax.vecmath.Color3f color, float density)
Constructs an ExponentialFog node with the specified fog color and density.
-
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.float
getDensity()
Gets fog density.void
setDensity(float density)
Sets fog density.-
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_DENSITY_READ
public static final int ALLOW_DENSITY_READ
Specifies that this ExponentialFog node allows read access to its density information.- See Also:
- Constant Field Values
-
ALLOW_DENSITY_WRITE
public static final int ALLOW_DENSITY_WRITE
Specifies that this ExponentialFog node allows write access to its density information.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ExponentialFog
public ExponentialFog()
Constructs an ExponentialFog node with default parameters. The default values are as follows:-
density : 1.0
-
ExponentialFog
public ExponentialFog(javax.vecmath.Color3f color)
Constructs an ExponentialFog node with the specified fog color.- Parameters:
color
- the fog color
-
ExponentialFog
public ExponentialFog(javax.vecmath.Color3f color, float density)
Constructs an ExponentialFog node with the specified fog color and density.- Parameters:
color
- the fog colordensity
- the density of the fog
-
ExponentialFog
public ExponentialFog(float r, float g, float b)
Constructs an ExponentialFog 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
-
ExponentialFog
public ExponentialFog(float r, float g, float b, float density)
Constructs an ExponentialFog node with the specified fog color and density.- Parameters:
r
- the red component of the fog colorg
- the green component of the fog colorb
- the blue component of the fog colordensity
- the density of the fog
-
-
Method Detail
-
setDensity
public void setDensity(float density)
Sets fog density.- Parameters:
density
- the new density of this fog- Throws:
CapabilityNotSetException
- if appropriate capability is not set and this object is part of live or compiled scene graph
-
getDensity
public float getDensity()
Gets fog density.- Returns:
- the density of this fog
- 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)
-
-