Class RenderAppearance

java.lang.Object
ke.ric.renderer.api.RenderAppearance

public final class RenderAppearance extends Object
Immutable per-field rendering appearance overrides. Every modifier returns a new value. Exposure changes renderer output appearance; it is distinct from field of view, surface-light intensity and RenderLayer.brightness(double), which scales already rendered pixels. At request level, unset fields inherit capture settings; in a layer, they inherit the request.
  • Method Details

    • defaults

      public static RenderAppearance defaults()
      Inherits source exposure, normally 1.0; at layer level an unset exposure inherits the request.
      Returns:
      appearance with no explicit overrides
    • exposure

      public RenderAppearance exposure(double value)
      Overrides renderer exposure without changing captured provenance or light positions.
      Parameters:
      value - finite strictly positive exposure
      Returns:
      a new appearance value
      Throws:
      IllegalArgumentException - if exposure is nonfinite or not positive
    • exposure

      public OptionalDouble exposure()
      Returns the requested exposure override.
      Returns:
      exposure, or empty when inherited
    • isDefault

      public boolean isDefault()
      Reports whether every appearance field inherits its source.
      Returns:
      true when exposure is unspecified