Module gpuFlux

Class SpectralCIELighting

All Implemented Interfaces:
Transformation, Pickable, Renderable, Manageable, PersistenceCapable, Shareable, UserFields, XObject, Map, Serializable

public class SpectralCIELighting extends CIELighting
A GPU Flux spectral variant of CIELighting that uses physically accurate spectral power distributions (SPDs) for sky and sun lights.

Overrides createPerezSunSky() to return a SpectralPerezSunSky with SPDs appropriate for the sky condition:

  • CIE types 1–9 (overcast / mixed) — CIE D65 (daylight, ~6504 K) for sky; D65 for sun beam.
  • CIE types 10–15 (clear) — CIE D55 (~5500 K) for diffuse sky; blackbody 5778 K for direct sun beam.
The same SPD rules apply when CIELighting.inputMode is CIELighting.CLOUD_COVER or CIELighting.TURBIDITY: clear skies (low cloud cover / low turbidity) use D55 + solar blackbody; overcast conditions use D65 throughout.

Example XL usage with GPU Flux:

   Axiom ==> new SpectralCIELighting(CIE_CLEAR, 52.0f, 172, 12, 0);
 

Author:
MH at YNL 2026
See Also:
  • Field Details

  • Constructor Details

    • SpectralCIELighting

      public SpectralCIELighting()
      Creates a SpectralCIELighting node with CIE Type 7 (partly cloudy).
    • SpectralCIELighting

      public SpectralCIELighting(int cieType, float latitude, int dayOfYear, int hourOfDay, int minuteOfHour)
      Creates a SpectralCIELighting node for a specific CIE sky type.
      Parameters:
      cieType - CIE sky type 1–15
      latitude - geographic latitude [degrees N]
      dayOfYear - day of year [1..365]
      hourOfDay - hour of day [0..23]
      minuteOfHour - minute [0..59]
  • Method Details

    • createPerezSunSky

      protected PerezSunSky createPerezSunSky()
      Returns a SpectralPerezSunSky with SPDs appropriate for the current sky condition.

      Clear skies (CIE types 10–15, cloud cover < 0.4, or turbidity < 3.5) receive CIE D55 for the diffuse sky and a 5778 K blackbody for the direct sun. All other conditions use CIE D65.

      Overrides:
      createPerezSunSky in class CIELighting
    • getNTypeImpl

      protected Node.NType getNTypeImpl()
      Description copied from class: Node
      This method returns the Node.NType which describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.
      Overrides:
      getNTypeImpl in class CIELighting
      Returns:
      type describing the managed fields of the class of this node
    • newInstance

      protected Node newInstance()
      Description copied from class: Node
      This method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.
      Overrides:
      newInstance in class CIELighting
      Returns:
      new instance of class of this node