Interface EnvironmentLight

All Superinterfaces:
X3DChildNode, X3DLightNode, X3DNode
All Known Implementing Classes:
EnvironmentLight

public interface EnvironmentLight extends X3DLightNode
Environment maps can represent incident illumination at a point, and can be used to show reflections of distant objects.

EnvironmentLight node tooltip: (X3D version 4.1 draft) [X3DLightNode] Environment maps can represent incident illumination at a point, and can be used to show reflections of distant objects. The EnvironmentLight node supports Image Based Lighting (IBL) techniques by specifying light-source intensity around a given location (i.e., the environment) as a cube map. EnvironmentLight defines both specular radiance and diffuse irradiance, converting an environment map into an irradiance map that shows how much light comes from any particular direction.
  • Hint: lights have no visible shape themselves and lighting effects continue through any intermediate geometry.
  • Hint: the bound NavigationInfo controls whether the user headlight is enabled on/off.
  • Hint: Wikipedia Cube mapping https://en.wikipedia.org/wiki/Cube_mapping

Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    float
    Provide float value within allowed range of [0,1] from inputOutput SFFloat field named ambientIntensity.
    float[]
    Provide array of 3-tuple float results using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named color.
    Provide org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) from inputOutput SFNode field diffuse.
    float[]
    Provide array of float results from inputOutput MFFloat field named diffuseCoefficients.
    Provide org.web3d.x3d.sai.CubeMapTexturing.X3DEnvironmentTextureNode instance (using a properly typed node) from inputOutput SFNode field diffuseTexture.
    boolean
    Provide boolean value from inputOutput SFBool field named global.
    float
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named intensity.
    Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    boolean
    Provide boolean value from inputOutput SFBool field named on.
    float[]
    Provide array of 3-tuple float results from inputOutput SFVec3f field named origin.
    float
    Provide float value unit axis, angle (in radians) from inputOutput SFFloat field named rotation.
    float
    Provide float value within allowed range of [0,1] from inputOutput SFFloat field named shadowIntensity.
    boolean
    Provide boolean value from inputOutput SFBool field named shadows.
    Provide org.web3d.x3d.sai.CubeMapTexturing.X3DEnvironmentTextureNode instance (using a properly typed node) from inputOutput SFNode field specularTexture.
    setAmbientIntensity(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named ambientIntensity.
    setColor(float[] newValue)
    Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named color.
    Accessor method to assign org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) to inputOutput SFNode field diffuse.
    setDiffuseCoefficients(float[] newValue)
    Accessor method to assign float array to inputOutput MFFloat field named diffuseCoefficients.
    Accessor method to assign org.web3d.x3d.sai.CubeMapTexturing.X3DEnvironmentTextureNode instance (using a properly typed node) to inputOutput SFNode field diffuseTexture.
    setGlobal(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named global.
    setIntensity(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named intensity.
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    setOn(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named on.
    setOrigin(float[] newValue)
    Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named origin.
    setRotation(float newValue)
    Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named rotation.
    setShadowIntensity(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named shadowIntensity.
    setShadows(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named shadows.
    Accessor method to assign org.web3d.x3d.sai.CubeMapTexturing.X3DEnvironmentTextureNode instance (using a properly typed node) to inputOutput SFNode field specularTexture.
  • Method Details

    • getAmbientIntensity

      float getAmbientIntensity()
      Provide float value within allowed range of [0,1] from inputOutput SFFloat field named ambientIntensity.

      Tooltip: [0,1] Brightness of ambient (nondirectional background) emission from the light.
      • Hint: in Interchange profile this field may be ignored, applying the default value regardless.
      Specified by:
      getAmbientIntensity in interface X3DLightNode
      Returns:
      value of ambientIntensity field
    • setAmbientIntensity

      EnvironmentLight setAmbientIntensity(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named ambientIntensity.

      Tooltip: [0,1] Brightness of ambient (nondirectional background) emission from the light.
      • Hint: in Interchange profile this field may be ignored, applying the default value regardless.
      Specified by:
      setAmbientIntensity in interface X3DLightNode
      Parameters:
      newValue - is new value for the ambientIntensity field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getColor

      float[] getColor()
      Provide array of 3-tuple float results using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named color.

      Tooltip: [0,1] color of light, applied to colors of objects.
      Specified by:
      getColor in interface X3DLightNode
      Returns:
      value of color field
    • setColor

      EnvironmentLight setColor(float[] newValue)
      Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named color.

      Tooltip: [0,1] color of light, applied to colors of objects.
      Specified by:
      setColor in interface X3DLightNode
      Parameters:
      newValue - is new value for the color field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDiffuse

      X3DSingleTextureNode getDiffuse()
      Provide org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) from inputOutput SFNode field diffuse.

      Tooltip: [X3DSingleTextureNode] When applying diffuseColor for this light node, the contained texture provides modulation for each pixel.
      • Hint: if texture node is NULL or unspecified, no effect is applied.
      • Warning: contained texture node must include containerField='diffuse'.
      Returns:
      value of diffuse field
    • setDiffuse

      EnvironmentLight setDiffuse(X3DSingleTextureNode newValue)
      Accessor method to assign org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) to inputOutput SFNode field diffuse.

      Tooltip: [X3DSingleTextureNode] When applying diffuseColor for this light node, the contained texture provides modulation for each pixel.
      • Hint: if texture node is NULL or unspecified, no effect is applied.
      • Warning: contained texture node must include containerField='diffuse'.
      Parameters:
      newValue - is new value for the diffuse field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDiffuseCoefficients

      float[] getDiffuseCoefficients()
      Provide array of float results from inputOutput MFFloat field named diffuseCoefficients.

      Tooltip: diffuseCoefficients field provides a 3 x 9 array of float values providing spherical harmonic coefficients for low-frequency characteristics of the environment map to produce an irradiance map corresponding to glTF irradianceCoefficients field. *
      Returns:
      value of diffuseCoefficients field
    • setDiffuseCoefficients

      EnvironmentLight setDiffuseCoefficients(float[] newValue)
      Accessor method to assign float array to inputOutput MFFloat field named diffuseCoefficients.

      Tooltip: diffuseCoefficients field provides a 3 x 9 array of float values providing spherical harmonic coefficients for low-frequency characteristics of the environment map to produce an irradiance map corresponding to glTF irradianceCoefficients field. *
      Parameters:
      newValue - is new value for the diffuseCoefficients field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDiffuseTexture

      X3DEnvironmentTextureNode getDiffuseTexture()
      Provide org.web3d.x3d.sai.CubeMapTexturing.X3DEnvironmentTextureNode instance (using a properly typed node) from inputOutput SFNode field diffuseTexture.

      Tooltip: [X3DEnvironmentTextureNode] diffuseTexture defines explicit precomputed X3DEnvironmentTextureNode (ComposedCubeMapTexture, GeneratedCubeMapTexture, ImageCubeMapTexture) nodes as the image source for the EnvironmentLight. When applying diffuseColor for this light node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.
      • Hint: if texture node is NULL or unspecified, no effect is applied.
      • Warning: contained texture node must include containerField='diffuseTexture'.
      Returns:
      value of diffuseTexture field
    • setDiffuseTexture

      EnvironmentLight setDiffuseTexture(X3DEnvironmentTextureNode newValue)
      Accessor method to assign org.web3d.x3d.sai.CubeMapTexturing.X3DEnvironmentTextureNode instance (using a properly typed node) to inputOutput SFNode field diffuseTexture.

      Tooltip: [X3DEnvironmentTextureNode] diffuseTexture defines explicit precomputed X3DEnvironmentTextureNode (ComposedCubeMapTexture, GeneratedCubeMapTexture, ImageCubeMapTexture) nodes as the image source for the EnvironmentLight. When applying diffuseColor for this light node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.
      • Hint: if texture node is NULL or unspecified, no effect is applied.
      • Warning: contained texture node must include containerField='diffuseTexture'.
      Parameters:
      newValue - is new value for the diffuseTexture field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getGlobal

      boolean getGlobal()
      Provide boolean value from inputOutput SFBool field named global.

      Tooltip: global field affects the scope of lighting effects produced by the EnvironmentLight node, and has no effect on the computation of environment textures. Global lights illuminate all objects within their volume of lighting influence. Scoped lights only illuminate objects within the same transformation hierarchy.
      • Warning: DirectionalLight default global=false to limit scope and avoid inadvertently illuminating every object in a large scene. PointLight and SpotLight default global=true since their effects are each limited by maximum radius value.
      Returns:
      value of global field
    • setGlobal

      EnvironmentLight setGlobal(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named global.

      Tooltip: global field affects the scope of lighting effects produced by the EnvironmentLight node, and has no effect on the computation of environment textures. Global lights illuminate all objects within their volume of lighting influence. Scoped lights only illuminate objects within the same transformation hierarchy.
      • Warning: DirectionalLight default global=false to limit scope and avoid inadvertently illuminating every object in a large scene. PointLight and SpotLight default global=true since their effects are each limited by maximum radius value.
      Parameters:
      newValue - is new value for the global field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getIntensity

      float getIntensity()
      Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named intensity.

      Tooltip: [0,+infinity] Brightness of direct emission from the light. *
      Specified by:
      getIntensity in interface X3DLightNode
      Returns:
      value of intensity field
    • setIntensity

      EnvironmentLight setIntensity(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named intensity.

      Tooltip: [0,+infinity] Brightness of direct emission from the light. *
      Specified by:
      setIntensity in interface X3DLightNode
      Parameters:
      newValue - is new value for the intensity field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMetadata

      X3DMetadataObject getMetadata()
      Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.

      Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
      Specified by:
      getMetadata in interface X3DChildNode
      Specified by:
      getMetadata in interface X3DLightNode
      Specified by:
      getMetadata in interface X3DNode
      Returns:
      value of metadata field
      See Also:
    • setMetadata

      EnvironmentLight setMetadata(X3DMetadataObject newValue)
      Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.

      Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
      Specified by:
      setMetadata in interface X3DChildNode
      Specified by:
      setMetadata in interface X3DLightNode
      Specified by:
      setMetadata in interface X3DNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
    • getOn

      boolean getOn()
      Provide boolean value from inputOutput SFBool field named on.

      Tooltip: Enables/disables this light source. *
      Specified by:
      getOn in interface X3DLightNode
      Returns:
      value of on field
    • setOn

      EnvironmentLight setOn(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named on.

      Tooltip: Enables/disables this light source. *
      Specified by:
      setOn in interface X3DLightNode
      Parameters:
      newValue - is new value for the on field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getOrigin

      float[] getOrigin()
      Provide array of 3-tuple float results from inputOutput SFVec3f field named origin.

      Tooltip: origin defines the relative position for observing the surrounding scene to create an environment texture. Input illumination to the EnvironmentLight node reflects all scene illumination visible at the node origin. *
      Returns:
      value of origin field
    • setOrigin

      EnvironmentLight setOrigin(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named origin.

      Tooltip: origin defines the relative position for observing the surrounding scene to create an environment texture. Input illumination to the EnvironmentLight node reflects all scene illumination visible at the node origin. *
      Parameters:
      newValue - is new value for the origin field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getRotation

      float getRotation()
      Provide float value unit axis, angle (in radians) from inputOutput SFFloat field named rotation.

      Tooltip: Single rotation angle of texture about center (opposite effect appears on geometry).
      • Warning: use a single radian angle value, not a 4-tuple Rotation.
      Returns:
      value of rotation field
    • setRotation

      EnvironmentLight setRotation(float newValue)
      Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named rotation.

      Tooltip: Single rotation angle of texture about center (opposite effect appears on geometry).
      • Warning: use a single radian angle value, not a 4-tuple Rotation.
      Parameters:
      newValue - is new value for the rotation field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getShadowIntensity

      float getShadowIntensity()
      Provide float value within allowed range of [0,1] from inputOutput SFFloat field named shadowIntensity.

      Tooltip: [0,1] shadowIntensity field defines how much light is obscured by shapes that cast shadows, ranging from 0 (light not obscured, no visible shadows) to 1 (light completely obscured, full-intensity shadows). *
      Specified by:
      getShadowIntensity in interface X3DLightNode
      Returns:
      value of shadowIntensity field
    • setShadowIntensity

      EnvironmentLight setShadowIntensity(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named shadowIntensity.

      Tooltip: [0,1] shadowIntensity field defines how much light is obscured by shapes that cast shadows, ranging from 0 (light not obscured, no visible shadows) to 1 (light completely obscured, full-intensity shadows). *
      Specified by:
      setShadowIntensity in interface X3DLightNode
      Parameters:
      newValue - is new value for the shadowIntensity field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getShadows

      boolean getShadows()
      Provide boolean value from inputOutput SFBool field named shadows.

      Tooltip: shadows field indicates whether or not this light casts a shadow behind illuminated X3DShapeNode geometry. *
      Specified by:
      getShadows in interface X3DLightNode
      Returns:
      value of shadows field
    • setShadows

      EnvironmentLight setShadows(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named shadows.

      Tooltip: shadows field indicates whether or not this light casts a shadow behind illuminated X3DShapeNode geometry. *
      Specified by:
      setShadows in interface X3DLightNode
      Parameters:
      newValue - is new value for the shadows field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getSpecularTexture

      X3DEnvironmentTextureNode getSpecularTexture()
      Provide org.web3d.x3d.sai.CubeMapTexturing.X3DEnvironmentTextureNode instance (using a properly typed node) from inputOutput SFNode field specularTexture.

      Tooltip: [X3DEnvironmentTextureNode] specularTexture defines explicit precomputed X3DEnvironmentTextureNode (ComposedCubeMapTexture, GeneratedCubeMapTexture, ImageCubeMapTexture) nodes as the image source for the EnvironmentLight. When applying specularColor for this light node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.
      • Hint: if texture node is NULL or unspecified, no effect is applied.
      • Warning: contained texture node must include containerField='specularTexture'.
      Returns:
      value of specularTexture field
    • setSpecularTexture

      EnvironmentLight setSpecularTexture(X3DEnvironmentTextureNode newValue)
      Accessor method to assign org.web3d.x3d.sai.CubeMapTexturing.X3DEnvironmentTextureNode instance (using a properly typed node) to inputOutput SFNode field specularTexture.

      Tooltip: [X3DEnvironmentTextureNode] specularTexture defines explicit precomputed X3DEnvironmentTextureNode (ComposedCubeMapTexture, GeneratedCubeMapTexture, ImageCubeMapTexture) nodes as the image source for the EnvironmentLight. When applying specularColor for this light node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.
      • Hint: if texture node is NULL or unspecified, no effect is applied.
      • Warning: contained texture node must include containerField='specularTexture'.
      Parameters:
      newValue - is new value for the specularTexture field.
      Returns:
      EnvironmentLight - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).