Class 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)
where:
    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 Details

    • ALLOW_DISTANCE_READ

      public static final int ALLOW_DISTANCE_READ
      Specifies that this LinearFog node allows read access to its distance information.
      See Also:
    • ALLOW_DISTANCE_WRITE

      public static final int ALLOW_DISTANCE_WRITE
      Specifies 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 color
      frontDistance - the front distance for the fog
      backDistance - 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 color
      g - the green component of the fog color
      b - 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 color
      g - the green component of the fog color
      b - the blue component of the fog color
      frontDistance - the front distance for the fog
      backDistance - 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

      public Node cloneNode(boolean forceDuplicate)
      Used to create a new instance of the node. This routine is called by cloneTree to duplicate the current node.
      Overrides:
      cloneNode in class Node
      Parameters:
      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.
      See Also: