Class LinearLight

All Implemented Interfaces:
DirectDrawEntity, IlluminantAPI, InstanceRenderAPI, RenderDataAPI

public class LinearLight extends BaseIlluminantData
For beam or ray, the default ends is start=vec3(-lengthHalf, 0.0, 0.0) and end=vec3(lengthHalf, 0.0, 0.0).

Should fastest in all the illuminant (in LTCs BRDF lighting).

For instanced data: scaleX to controls length scale (also will be the attenuation radius scale), scaleY to controls cylinder radius scale.

  • Field Details

    • state

      protected final float[] state
    • endCaps

      protected boolean endCaps
  • Constructor Details

    • LinearLight

      public LinearLight()
  • Method Details

    • _resetExc

      protected void _resetExc()
      Overrides:
      _resetExc in class BaseIlluminantData
    • getLength

      public float getLength()
    • setLength

      public void setLength(float length)
    • getCylinderRadius

      public float getCylinderRadius()
    • setCylinderRadius

      public void setCylinderRadius(float radius)
      Parameters:
      radius - not recommended with large radius, because it just linear light.
    • isWithEndCaps

      public boolean isWithEndCaps()
    • setWithEndCaps

      public void setWithEndCaps(boolean withEndCaps)
    • submitEntityData

      public void submitEntityData()
      Description copied from class: BaseRenderData
      Without matrix data or timer settings.
      Specified by:
      submitEntityData in interface RenderDataAPI
      Overrides:
      submitEntityData in class BaseIlluminantData
    • entityType

      public Object entityType()
      Specified by:
      entityType in interface RenderDataAPI
      Overrides:
      entityType in class BaseRenderData