Class EngineConfig

java.lang.Object
eu.svjatoslav.aukio.e3d.diag.EngineConfig

public final class EngineConfig extends Object
User configuration for Aukio 3D engine settings. Thin facade over AukioConfig: engine keys live in the e3d section of ~/.config/aukio/config.yaml (override the file with -Daukio.config=<path>; the legacy -De3d.config=<path> is honored as a fallback). A missing file or key means built-in defaults.

Recognized keys (flat camelCase inside the e3d section): ipdCm — interpupillary distance in centimeters for stereoscopic (3D glasses) rendering, default 6.5; bugReportDir — directory under which bug reports are written, default ~/.local/share/aukio/bugreports; logDir — directory for persistent rolling logs, default ~/.cache/aukio/logs; telemetryIntervalSeconds — how often the telemetry line is written to the log, default 5.

Global illumination radius gating (see Documentation/Global illumination/index.org): giStage2Radius / giStage3Radius / giStage4Radius — world-unit distance from the camera beyond which entries skip the centroid bounce (stage 2), the coarse per-texel lightmap bake (stage 3) and the fine per-texel refinement (stage 4). 0 (default) means unlimited: every entry gets every stage, the historical behavior. giMeshUnitsPerTexel — units per lightmap texel for mesh-block triangles at the FINAL resolution, default 2.1 (the stage-3 coarse bake uses e3d.gi.stage3TexelFactor times that). giLightmapCacheEntries — cap on the baked-lightmap composite cache that restores lightmaps after cell stream-out/in, default 65536.

Every key can also be set as a system property (-De3d.ipd=6.3, -De3d.bugreport.dir=..., -De3d.log.dir=..., -De3d.telemetry.interval=..., -De3d.gi.stage2Radius=... and likewise for the other GI keys); system properties win over the config file.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final double
    Default stereo IPD in world units (centimeters).
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    Atmospheric haze target color as RRGGBB, default empty = fade toward the scene's sky color.
    static double
    Atmospheric haze scale in world units: the camera depth at which the haze factor reaches ~63% (1 - 1/e), default 100000.
    static File
    Directory under which bug reports are written.
    static int
    Cap on the stage-1/2 centroid-value cache that restores direct and first-bounce lighting instantly when a cell streams out and back in, default 4 000 000.
    static int
    Cap on the baked-lightmap composite cache that restores lightmaps instantly after a cell streams out and back in, default 65536.
    static double
    Units per lightmap texel for mesh-block triangles at the final (stage-4) resolution, default 2.1.
    static double
    GI stage-2 radius in world units: beyond it, entries skip the centroid bounce and keep their stage-1 direct stamp.
    static double
    GI stage-3 radius in world units: beyond it, triangles never get a lightmap (mesh blocks keep their per-triangle shade).
    static double
    GI stage-4 radius in world units: beyond it, lightmaps are not refined to the final texel density and keep the coarse composite.
    static double
    Interpupillary distance for stereo rendering, in world units (centimeters).
    static File
    Directory for persistent rolling logs.
    static int
    Telemetry write interval, seconds.
    static boolean
    Master switch for atmospheric distance haze (see renderer/raster/lighting/Atmosphere.java), default false.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_IPD_CM

      public static final double DEFAULT_IPD_CM
      Default stereo IPD in world units (centimeters).
      See Also:
  • Method Details

    • getIpdCm

      public static double getIpdCm()
      Interpupillary distance for stereo rendering, in world units (centimeters).
    • getBugReportDir

      public static File getBugReportDir()
      Directory under which bug reports are written.
    • getLogDir

      public static File getLogDir()
      Directory for persistent rolling logs.
    • getTelemetryIntervalSeconds

      public static int getTelemetryIntervalSeconds()
      Telemetry write interval, seconds.
    • getGiStage2Radius

      public static double getGiStage2Radius()
      GI stage-2 radius in world units: beyond it, entries skip the centroid bounce and keep their stage-1 direct stamp. 0 (default) = unlimited.
    • getGiStage3Radius

      public static double getGiStage3Radius()
      GI stage-3 radius in world units: beyond it, triangles never get a lightmap (mesh blocks keep their per-triangle shade). 0 (default) = unlimited for lightmapped shapes — and mesh blocks then never get lightmaps at all: per-texel work on every lean triangle of a huge world is exactly what the radius exists to avoid, so block lightmapping is enabled by a POSITIVE radius.
    • getGiStage4Radius

      public static double getGiStage4Radius()
      GI stage-4 radius in world units: beyond it, lightmaps are not refined to the final texel density and keep the coarse composite. 0 (default) = unlimited.
    • getGiMeshUnitsPerTexel

      public static double getGiMeshUnitsPerTexel()
      Units per lightmap texel for mesh-block triangles at the final (stage-4) resolution, default 2.1. The stage-3 coarse bake runs at e3d.gi.stage3TexelFactor times this.
    • getGiLightmapCacheEntries

      public static int getGiLightmapCacheEntries()
      Cap on the baked-lightmap composite cache that restores lightmaps instantly after a cell streams out and back in, default 65536.
    • getGiCentroidCacheEntries

      public static int getGiCentroidCacheEntries()
      Cap on the stage-1/2 centroid-value cache that restores direct and first-bounce lighting instantly when a cell streams out and back in, default 4 000 000. Sized to hold a full FO4 streamed world (~1.8-2.7M triangles) so any region you revisit is a hit; worst-case RAM is roughly half a gigabyte (about 120 bytes per entry), evicting least-recently-used beyond the cap.
    • isAtmosphereEnabled

      public static boolean isAtmosphereEnabled()
      Master switch for atmospheric distance haze (see renderer/raster/lighting/Atmosphere.java), default false. Environment modules may enable it per scene at runtime.
    • getAtmosphereScale

      public static double getAtmosphereScale()
      Atmospheric haze scale in world units: the camera depth at which the haze factor reaches ~63% (1 - 1/e), default 100000.
    • getAtmosphereColor

      public static String getAtmosphereColor()
      Atmospheric haze target color as RRGGBB, default empty = fade toward the scene's sky color.