Interface VirtualLight

All Known Implementing Classes:
PointLight, SpotLight

public interface VirtualLight
Common read-only light properties. RenderLighting accepts only the immutable PointLight and SpotLight records; arbitrary implementations are rejected before a request retains them. RGB is 24-bit sRGB, position/range use blocks, and intensity is artistic. Limits are per render pass and advertised by RendererClient.lightingCapabilities().
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Returns this emitter's artistic intensity, independent of inherited-world light factors.
    double
    Returns the maximum distance reached by this emitter.
    int
    rgb()
    Returns this light's 24-bit sRGB colour without alpha.
    boolean
    Reports whether this emitter requests hard shadows.
    Returns the coordinate system shared by this light's position and direction.
    double
    x()
    Returns the world X position or camera-right offset.
    double
    y()
    Returns the world Y position or camera-up offset.
    double
    z()
    Returns the world Z position or camera-forward offset.
  • Method Details

    • space

      LightSpace space()
      Returns the coordinate system shared by this light's position and direction.
      Returns:
      WORLD or CAMERA
    • rgb

      int rgb()
      Returns this light's 24-bit sRGB colour without alpha.
      Returns:
      RGB in 0x000000..0xffffff
    • x

      double x()
      Returns the world X position or camera-right offset.
      Returns:
      finite position in blocks
    • y

      double y()
      Returns the world Y position or camera-up offset.
      Returns:
      finite position in blocks
    • z

      double z()
      Returns the world Z position or camera-forward offset.
      Returns:
      finite position in blocks
    • intensity

      double intensity()
      Returns this emitter's artistic intensity, independent of inherited-world light factors.
      Returns:
      finite intensity in 0..64
    • range

      double range()
      Returns the maximum distance reached by this emitter.
      Returns:
      finite range in blocks, greater than 0 and at most 64
    • shadows

      boolean shadows()
      Reports whether this emitter requests hard shadows.
      Returns:
      true when shadow geometry should occlude this emitter