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 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 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 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