Class Light.Builder

  • Enclosing class:
    Light

    public static final class Light.Builder
    extends java.lang.Object
    Factory class for Light
    • Method Detail

      • setShadowCastingEnabled

        public Light.Builder setShadowCastingEnabled​(boolean enableShadows)
        Determines whether the light casts shadows, or whether synthetic objects can block the light.
        Parameters:
        enableShadows - true to enable to shadows, false to disable; default is false.
      • setColor

        public Light.Builder setColor​(Color color)
        Sets the "RGB" color of the light. Note that intensity if is a separate parameter, so you should set the pure color (i.e. each channel is in the [0,1] range). However setting values outside that range is valid.
        Parameters:
        color - "RGB" color, default is (1, 1, 1)
      • setColorTemperature

        public Light.Builder setColorTemperature​(float temperature)
        Sets the "RGB" color of the light based on the desired "color temperature."
        Parameters:
        temperature - color temperature in Kelvin on a scale from 1,000 to 10,000K. Typical commercial and residential lighting falls somewhere in the 2000K to 6500K range.
      • setIntensity

        public Light.Builder setIntensity​(float intensity)
        Sets the light intensity which determines how bright the light is in Lux (lx) or Lumens (lm) (depending on the light type). Larger values produce brighter lights and near zero values generate very little light. A household light bulb will generally have an intensity between 800 - 2500 lm whereas sunlight will be around 120,000 lx. There is no absolute upper bound but values larger than sunlight (120,000 lx) are generally not needed.
        Parameters:
        intensity - the intensity of the light, values greater than one are valid. The intensity will be clamped and cannot be zero or negative. For directional lights the default is 420 lx. For other other lights the default is 2500 lm.
      • setFalloffRadius

        public Light.Builder setFalloffRadius​(float falloffRadius)
        Sets the range that the light intensity falls off to zero. This has no affect on infinite light types - the Directional types.
        Parameters:
        falloffRadius - the light radius in world units, default is 10.0f.
      • setInnerConeAngle

        public Light.Builder setInnerConeAngle​(float coneInner)
        Spotlights shine light in a cone, this value determines the size of the inner part of the cone. The intensity is interpolated between the inner and outer cone angles - meaning if they are the same than the cone is perfectly sharp. Generally you will want the inner cone to be smaller than the outer cone to avoid aliasing.
        Parameters:
        coneInner - inner cone angle in radians, default is 0.5
      • setOuterConeAngle

        public Light.Builder setOuterConeAngle​(float coneOuter)
        Spotlights shine light in a cone, this value determines the size of the outer part of the cone. The intensity is interpolated between the inner and outer cone angles - meaning if they are the same than the cone is perfectly sharp. Generally you will want the inner cone to be smaller than the outer cone to avoid aliasing.
        Parameters:
        coneOuter - outer cone angle in radians, default is 0.6
      • build

        public Light build()
        Creates a new Light based on the parameters set previously