AuraLite is a modern, lightweight, and highly optimized shader pack built on top of the OpenGL 4.6 / GLSL 460 standard. It is specifically designed and tested for Minecraft 1.16 – 26.2 with Sodium + Iris (and compatible with OptiFine, Oculus).
AuraLite delivers a breathtaking, realistic visual experience without overcomplicating the screen with bloated post-processing effects (such as aggressive motion blur or heavy bloom). A lightweight HDR bloom (gaussian pyramid since v1.1.3, half-resolution and skippable since v1.1.4) softly glows emissive sources without smearing the scene. Optional FXAA/SMAA anti-aliasing, SSR, TAA, godrays, and SSAO are profile-scaled so AuraLite keeps high FPS and smooth frametimes on modern GPUs.
🧪 v1.1.4 note: Adds tiny physical-atmosphere LUTs (
begin/begin1→ 64×32colortex5+ 32×16colortex6), a hard Distant Horizons seam (the v1.1.3 screen-door dither punched white holes on DH 3.2), DH-aware TAA with a material reactive mask, a Gerstner water spectrum, half-res schedulable bloom, and an Iris 1.7.6 compatibility workaround (dhShadow.enabled=falseby default). TAA remains on by default in HIGH/ULTRA/EXTREME; camera jitter stays OFF. See changelog below.
ℹ️ Historical note: older changelog sections below are preserved as original release notes.
Version 1.1.4 rebuilds the experimental physical sky around shared low-frequency LUTs, replaces the hole-producing DH screen-door seam with a deterministic hand-off, and cuts post-process cost with skippable half-resolution bloom. It also finishes the TAA story for Distant Horizons (correct DH reprojection + Halton jitter on LOD geometry) and swaps glittery water fBm for a coherent Gerstner swell.
begin / begin1)colortex5/colortex6 to save VRAM. v1.1.4 brings them back as 64×32 solar-transmittance (colortex5) and 32×16 multi-scatter / ground-bounce (colortex6) tables — kilobytes, not megabytes.begin.fsh rebuilds direct solar transmittance every frame: sun elevation on X (−0.16…1.0, including civil twilight), camera altitude on Y (0–30 km), Kasten–Young airmass × Rayleigh + aerosol extinction, zeroed below the night hemisphere.begin1.fsh layers bounded multi-scattering and biome-aware ground bounce on top of that transmittance. Noon is Rayleigh-blue; low sun is warm; swamp/snow/vegetation tints come from GROUND_BOUNCE_MODE.gbuffers_skybasic, terrain fog, water analytic reflection, volumetric godrays, clouds and the SSR sky fallback all sample the same LUTs instead of each running a second atmosphere march.SKY_MODE=0 (every shipped profile) the LUT passes write constants and cost almost nothing. Enable Physical Sky manually in the Experimental tab.New Experimental → Atmosphere options (off-profile defaults stay cinematic / auto):
ATMOSPHERE_TURBIDITY — Crisp / Balanced / Hazy aerosol load.ATMOSPHERE_SCALE — Compact 25 m / Balanced 50 m / Cinematic 100 m per block (how Minecraft Y maps into atmosphere kilometres).GROUND_BOUNCE_MODE — Auto (biome-aware) / Neutral Soil / Vegetation / Snow / Desert.SKY_TEMPORAL — rotation-only history blend for the sky (requires TAA). Physical sky uses a higher history weight than the animated gradient sky so stars/aurora do not trail.The swamp detector now also matches BIOME_MANGROVE_SWAMP.
⚠️ AuraLite still does NOT claim full Distant Horizons compatibility. v1.1.4 is a targeted correctness pass on the v1.1.2/v1.1.3 experimental path.
far. The v1.1.3 16 m screen-door dither discarded random LOD fragments in the seam band; on DH 3.2 those holes showed sky/white whenever vanilla geometry did not fill the same pixel. DH fragments with dist < far are now simply discarded — less cinematic, never stochastic.composite1.fsh reprojects DH pixels through dhProjectionInverse + dhPreviousProjection (vanilla matrices have the wrong far plane).DH_BLOCK_ILLUMINATED tag colortex2.a = 0.24 — distant sea lanterns / glowstone stay self-emissive even when they are not lava-orange or portal-violet. Extra DH material classes: DIRT, SAND, TERRACOTTA.dh_water now honours WATER_WAVES / riffles / transparency / specular, applies the frozen-ocean navy floor, and occludes against dhDepthTex1 (plus Iris depthtex1 via view-space Z, because raw depths use different projections).DH_SHADOW_RANGE — Seam (1.25×) / Extended (2×) / Far (4×) of vanilla far. LOD receivers can keep sampling the shared shadow map past the vanilla chunk edge.dhShadow.enabled=false by default. DH 3.2.0-b + Iris 1.7.6 can replace/cull the vanilla terrain shadow pass — symptom: mob shadows remain, block shadows vanish even in vanilla chunks. Users with a verified working Iris/DH bridge can turn the DH shadow pass back on and then use DH_SHADOW_RANGE.SKY_TEMPORAL) — sky pixels have no stable world position, so history is reprojected with camera rotation only (no translation). Gradient-sky history weight is lower (0.28) than Physical (0.46) so clouds/aurora/meteors do not smear.0.8), foliage (0.62) and emissive/lava (< 0.5) cut history weight by 46% / 30% / 58%. Without a per-object velocity buffer this is what stops waving leaves and water from ghosting after TAA.final.fsh. That field was mathematically stable but read as high-frequency random glitter.±0.22.0.04/0.02 → 0.032/0.016) so the geometric mesh matches the new reflection spectrum.gbuffers_water, gbuffers_terrain_translucent and gbuffers_terrain (lava stays texture-driven).BLOOM toggle. VERY_LOW / LOW skip the entire 5-pass chain via program.composite3–7.enabled=BLOOM (Iris/OptiFine do not even dispatch the programs).colortex3/colortex4 are half-resolution (size.buffer = 0.5 0.5). Gaussian strides are doubled so the world-space radius stays the same; final.fsh linearly upsamples the glow.TAA similarly gates composite1/composite2, so lighter profiles no longer pay for unused fullscreen passes.AURORA_QUALITY — Soft 8 / Balanced 12 / Silky 18 raymarch steps, with a centred globally-animated ray start (the previous per-pixel hash grain is gone).| Profile | Shadows | DH receivers | TAA | Bloom | Sky temporal |
|---|---|---|---|---|---|
| VERY_LOW / LOW | ❌ 512 / 60 m | Seam | ❌ | ❌ | ❌ |
| MED | ✅ 1024 / 192 m Balanced | Seam | ❌ | ✅ Balanced | ❌ |
| HIGH | ✅ 2048 / 512 m Balanced | Extended | ✅ | ✅ Balanced | ✅ |
| ULTRA | ✅ 4096 / 512 m Aggressive | Extended | ✅ | ✅ Balanced | ✅ |
| EXTREME | ✅ 8192 / 768 m Aggressive | Far | ✅ | ✅ Strong | ✅ |
Camera jitter remains off by default in every profile.
Version 1.1.3 completes the TAA pipeline (Halton sub-pixel camera jitter + YCoCg variance clipping), replaces the old single-pass bloom with a true multi-octave HDR gaussian pyramid, and fixes the long-standing black-water regression with MRT-proof water detection. It also adds procedural raindrop rings, biome-aware murky swamp water, underwater plant sway, post-TAA sharpening, and a ~48 MB VRAM cleanup.
gl_Position by a rotating 8-frame Halton pattern (±0.5 px). Previously TAA only blended history without jittering the sample point, so it could only blur noise instead of reconstructing sub-pixel detail.TAA_JITTER option — Off / Subtle / Standard / Strong (new in v1.1.3). The jitter is OFF by default in all profiles for a rock-steady image; Subtle (±0.25 px), Standard (±0.5 px) and Strong (±0.75 px) scale the amplitude for users who want the full sub-pixel reconstruction (removes high-frequency shimmer at the cost of a slight temporal wobble). Requires TAA enabled.composite1.fsh — the old frame's offset is re-added to the reprojection (with the same strength scale), so static images converge instead of smearing ~0.5 px. Only active while jitter is on.TAA_STRENGTH: 1.50 Light / 1.25 Balanced / 1.10 Stable.TAA_STRENGTH presets the variance-clip tightness.HDR_BLOOM option (Subtle 0.06 / Balanced 0.12 / Strong 0.22 amplitude) wired into every quality profile.colortex1/colortex2 MRT writes entirely — water then arrives with a zeroed normal + alpha + lightmap. The emissive fast-path (alpha < 0.5) swallowed it and every tag/lightmap-based system died with it.colortex2.a = 0.8 tag; rescue = the depth difference (depthtex1 solid-only vs depthtex0) proves a translucent surface on top, then a hue-fingerprint classifier on the albedo rejects portals (violet, green-starved) and lava (blue-starved) while accepting water (blue/blue-green, never pale). Water, ice and glass classify; torch flames, portal sparkles, squid ink, pale ice and clear glass do not.waterSkyRefl) — zenith/horizon gradient + warm sun-side glow, dimension-aware (Overworld palette, Nether biome sheen, End violet sheen), applied via Schlick Fresnel with a 0.20 floor (pure F0≈0.02 at steep look-down angles was exactly what let shadowed water crush to black), multiplied by skyLight so cave water stays dark. This is the actual black-water fix and works with SSR disabled.gbuffers_water/gbuffers_terrain_translucent — frozen-ocean biome tints (e.g. 0x3938C9) can no longer crush R/G to black after the gamma pipeline.WATER_DEBUG diagnostics overlay (Off / Classify / Lightmap / Raw tag alpha) — green = healthy tag, red = depth-rescued, yellow = rescued from the emissive path, magenta = lava/portal-guarded.waterMirrorBoost hack existed); now a day/night/sunset/storm-aware gradient with moon-phase brightness, Schlick-Fresnel weighting and edge fade.composite.fsh).CLOUD_QUALITY option: 8 / 12 / 16 raymarch steps (was hardcoded 12) — Cheap / Standard / High.seagrass, tall_seagrass, kelp, kelp_plant, sea_pickle) — fronds sway in a current, phase-shifted by height so the tips lag the base, storm-agitated along with the surface foliage path. Displacement is mirrored in shadow.vsh so shadows follow the visible fronds.isSwampBiome) — swamp water absorbs more red and reads greener and murkier (absorption (0.23, 0.038, 0.10), deep colour pushed to dark green) instead of open-ocean blue.SKY_MODE=1 atmosphere now includes a warm ground-bounce term: terrain's ~15–20% mean albedo re-scatters in the lower atmosphere (strongest at the horizon and with a high sun), removing the "sterile" blue-bias horizon band.discard at far + 16 is replaced by a screen-door dithered transition band: DH LOD fragments stochastically blend into vanilla chunks over 16 m, so crossing the boundary or changing render distance no longer shows a hard cut. The pattern is static per frame (DH-only pixels are excluded from TAA history).colortex5/colortex6 format directives — never read or written, but each forced Iris/OptiFine to allocate a full RGBA16F screen buffer: ~32 MB saved @1080p, ~128 MB @4K.shadowcolor0Format RGBA16F → RGBA8 (it only carries LDR tex * glcolor): another ~16 MB @1080p / ~64 MB @4K.shadowcolor1Format removed (nothing ever wrote to it).colortex0Clear = true — no stale garbage on the first frame or after a window resize.colortex3/colortex4 are now actually used by the bloom pyramid; the full 8-buffer HDR pipeline is engaged.Version 1.1.2 extends shadow rendering to the actual render distance with an adaptive LOD system, fixes HDR/TAA pipeline strictness, cleans up deprecated GLSL, and introduces partial, experimental Distant Horizons support (WIP) — without claiming full compatibility yet. Work is ongoing.
shadowDistance was 60-160m with a hard cutoff at shadowDistance. Now it scales with quality profiles: 60m (VERY_LOW/LOW, no shadows) → 120m (MED) → 256m (HIGH/ULTRA) → 384m (EXTREME). The cutoff is replaced by a soft fade smoothstep(far*0.85, far*0.98).SHADOW_LOD toggle — Off / Balanced / Aggressive. Reduces sample count and expands filter radius at distance to keep performance stable:>25% far → 16 samples ×1.8 radius, >50% → 8 ×2.8>15% → 16×2.0, >35% → 8×3.5, >60% → 4×5.0far shadow sampling is skipped entirely.shadowMapResolution now includes 8192. EXTREME uses 8192 for maximum texel density at 384m. HIGH stays 2048, ULTRA 4096.SHADOW_PCSS_BLUR toggle — fixed softness vs PCSS penumbra softening. When enabled, penumbra grows with blocker distance and rain. When disabled, shadows use constant softness.composite.fsh:sampleShadow(): added UV bounds checks (prevents clamp-to-border artifacts), avgBlockerDepth clamped to 1e-4 to avoid NaN, penumbraSize clamped 0-2.0, lightSize reduced 140→40 to prevent light bleeding, actualSpread capped to 16.0, out-of-bounds samples counted as unshadowed (1.0) for correct averaging.distBias now scales with far instead of shadowDistance, plus extra water receiver bias for tagged water pixels (colortex2.a≈0.8).#define RGBA16F 0 guards added before the const int colortex*Format = RGBA16F directives. This satisfies strict GLSL validators (C1503 undefined variable RGBA16F) while Iris/OptiFine's parser still reads the format names (spec second clause). In v1.1.1 the directives were inside a /* */ comment and were ignored by some loaders.RGBA16F: colortex0/1/2 (main HDR + PBR + material tags), colortex3/4/5/6 (unused today but set to HDR for a full pipeline), colortex7 (TAA history, colortex7Clear=false), and optional shadowcolor0/1Format = RGBA16F.⚠️ AuraLite does NOT yet claim full Distant Horizons compatibility. v1.1.2 only adds a minimal, experimental code path so LOD chunks are no longer invisible under Iris. It's functional enough for testing, but considered partial and work-in-progress.
dh_terrain.vsh/.fsh, dh_water.vsh/.fsh, dh_shadow.vsh/.fsh, Iris marks the pack as incompatible with DH and simply doesn't draw DH's simplified LOD chunks at all — symptom "shader works but DH chunks invisible". Presence of these files is enough for Iris/DH auto-detection (dhShadow.enabled defaults true).dh_terrain/dh_water write the same colortex0/1/2 layout as vanilla passes, so existing lighting/fog/shadow/cloud/godray code in composite.fsh applies to LOD geometry without other changes.composite.fsh: detects depthtex0>=1.0 && dhDepthTex0<1.0 → isDHTerrain, reconstructs viewPos via dhProjectionInverse (not gbufferProjectionInverse — different far planes) and computes isSkyPixel. Fixes DH terrain being treated as sky (flat/washed-out).effectiveDensity *= far/dhRenderDistance prevents exponential fog from saturating to white before DH draw distance.!isSkyPixel instead of depth<1.0 so distant DH_BLOCK_ILLUMINATED (glowstone/lanterns) is still emissive.final.fsh heat shimmer now checks dhDepthTex0 via isRealGeometry so distant lava lakes also shimmer.if(dist < far+16.0) discard in DH passes — DH renders entire world including area already covered by vanilla chunks; without discard both fight over same G-buffer pixel causing Z-fighting / missing water/ice.gl_MultiTexCoord2 is not guaranteed to carry valid lightmap data for DH programs — v1.1.2 hardcodes lmcoord = vec2(0.0,1.0) (open sky, no torch). Correct for exterior DH, but not interior-perfect.normals/specular maps for DH — roughness/metalness approximated per dhMaterialId (STONE/WOOD/METAL/SNOW/LEAVES/LAVA…). No POM on DH.[v1.1.1-ui-hotfix]: Oversized option screens were split into [SHADOW_OPTIONS], [PBR_OPTIONS], [AO_REFLECTIONS], [CLOUD_SHAPE], [LIGHT_SHAFTS], [NIGHT_SKY] because some Iris/OptiFine UI builds silently hide buttons when a screen has too many entries.ftransform() removed from composite.vsh, final.vsh, gbuffers_clouds.vsh, composite1.vsh, composite2.vsh, gbuffers_weather.vsh — replaced with explicit gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex for broader driver compat (same fix applied to shadow.vsh in v1.1.0).±1/255 before tonemap). The single pre-tonemap dither remains — more effective in darks, silent in brights.colortex6 hand-off comment (removed in v1.0.3), now notes that final.fsh reads normal from colortex2 and roughness from colortex1.z.lang/*.lang headers v1.0.7 → v1.1.2, translated previously-English profile.*.comment placeholders into native languages (ur_pk, vi_vn, zh_cn, zh_hk, zh_tw and others).Version 1.1.0 replaces the screen-space godray approximation with a fully volumetric raymarched implementation, switches the entire G-buffer pipeline to true HDR (RGBA16F), and introduces an experimental, fully physical realtime atmospheric-scattering sky mode as an opt-in alternative to the stable gradient sky. This is a focused two-pillar update on top of the v1.0.7 bug-fix baseline.
The old computeGodrays() screen-space approximation has been replaced by computeVolumetricGodrays() — a genuine single-scattering volumetric raymarch:
frameCounter uniform when TAA is active — 8–24 raymarch steps now integrate as smoothly as hundreds, with no banding.Tr₀ · σs/σt · (1 − e^(−σt·Δx)) per step, which is energy-conserving regardless of step size (no more over-brightening at low sample counts).GODRAYS_STRENGTH setting (Subtle / Balanced / Dramatic) added to every quality profile.GODRAYS_QUALITY sample counts and distances increased: Fast 8 samples/96m, Balanced 16/128m, High 24/160m (up from 4/72m, 6/110m, 8/150m in v1.0.7).colortex0, colortex1, and colortex2 are now explicitly RGBA16F. Bright sources — the sun disk, lava, specular highlights, portals — no longer clip to 1.0 before tone mapping, so the ACES/AgX curves in final.fsh finally compress genuine HDR highlights instead of receiving pre-clamped input. Bloom now samples real HDR luminance rather than an already-saturated LDR buffer.colortex2's alpha channel carries a 5-value material tag (0.0/0.1/0.62/0.8/1.0); RGBA16F guarantees these are preserved exactly, whereas a lower-precision format would have aliased and collided material tags (e.g. foliage vs. water).0.50 vs. the old 0.30) keeps the sun-facing core from blowing out under HDR.A brand-new [EXPERIMENTAL] menu tab exposes an alternate sky renderer in gbuffers_skybasic.fsh, disabled in every shipped profile (SKY_MODE=0) so the stable gradient sky remains the default:
SKY_MODE — 0 (Gradient, legacy v1.0.7-style sky) or 1 (Physical Realtime): a genuine per-pixel ray-marched atmosphere with exact 1st-order single scattering (Rayleigh + Mie + Ozone, full sun-ray optical-depth march with ground-occlusion detection) plus a blue-biased, bounded multiple-scattering ambient term that fills in the zenith/horizon without producing the typical LUT-based "yellow band" artifact. No lookup textures, no cross-frame reads.SKY_QUALITY — controls raymarch sample counts (Fast 8×4 / Standard 12×6 / High 16×8) for the physical mode.SKY_STYLE — new artistic-direction toggle independent of SKY_MODE: Realistic (true angular sun/moon size, neutral colors, minimal glow — an authentic astronomy look), Semi-realistic (readable ×2.8 sun/moon size, richer color, soft aureole — the default), or Fantasy (grand ×5.5 sun/moon, huge corona, vivid saturated teal/crimson/indigo palette for a stylized sky).±1/255, matching the BSL/Complementary technique) is now applied in final.fsh before tone mapping, where gamma expansion makes a tiny linear noise term large enough in the darks to smooth the gradient, while staying invisible in bright regions. The old post-gamma dither (which couldn't fix pre-tonemap banding) has been removed and replaced with an explicit final clamp().shadow.vsh no longer relies on the deprecated fixed-function ftransform(); it now builds the clip-space position explicitly via gl_ModelViewMatrix / gl_ProjectionMatrix for broader driver compatibility.GODRAYS, GODRAYS_QUALITY, and the new GODRAYS_STRENGTH / SKY_MODE / SKY_STYLE / SKY_QUALITY options and the new Experimental tab.Version 1.0.0 builds on the volumetric aurora work from v0.3.0 and introduces the first v1.0.0 source snapshot in this repository. The update adds a physically-inspired meteor system to the night sky, finalizes the modern SSR path for reliable Iris compatibility, and refreshes the documentation so the project now correctly points to the shaders v1.0.0/ folder.
colortex6 fully removed from the reflection workflow. The older MRT export path was retired; final.fsh now reads normals directly from colortex2 and roughness from colortex1, matching AuraLite's already-working PBR data path.depthtex0 and depthtex1, making reflections robust on Iris paths where water G-buffer writes may be inconsistent.SHOOTING_STARS, SHOOTING_STARS_FREQUENCY, and SHOOTING_STARS_BRIGHTNESS.Version 0.2.6 is a legal protection and compatibility update. It migrates the project license to a copyleft non-commercial model to protect AuraLite from unauthorized commercial redistribution, adds copyright assertions to all source files, and officially expands tested compatibility.
Copyright (c) 2026 AlexanderNyr.// AuraLite Shaders - Copyright (c) 2026 AlexanderNyr. Licensed under CC BY-NC-SA 4.0.) into all GLSL shader files (.fsh, .vsh), block properties (.properties), and translation tables (.lang).AuraLite features a fully physical, flyable 3D cloud system driven by 12-step Raymarching in world coordinates:
WIND_SPEED setting./weather rain), the fluffy cumulus clouds automatically expand, darken, and merge into an ominous, heavy Nimbostratus/Cumulonimbus storm deck.The night sky is no longer just a static starfield — it's a fully procedural cosmos:
gbuffers_skybasic for reliability; cold-biome detection uses real biome uniforms. v1.0.7: tone softened and high-frequency noise removed — read as a photographic glow rather than oversaturated neon.)wetness uniform decays. Brightness and saturation are configurable./time set 12800 instead of snapping to neutral.heldBlockLightValue) is also accounted for.rainStrength / thunderStrength for choppier seas during storms.WATER_RIFFLES (Calm / Standard / Choppy) and WATER_SPECULAR_STRENGTH (Soft / Standard / Glinting) can be tuned separately for the perfect water mood.thunderStrength uniform, intensifying cloud darkness and wave chop accordingly.POM_DEPTH (1–3) and POM_STEPS (1–4). Disabled in all profiles by default for stability; can be enabled manually. Recommended to keep off on incompatible resource packs.The vanilla Nether portal texture is procedurally transformed into a swirling 3D plasma vortex — animated purple/magenta cosmic energy that pulses with hypnotic depth. Mapped via dedicated block ID 10006 in block.properties. (v0.2.5: portal pixels are flagged as emissive so composite skips scene lighting and displays the plasma as-is.)
AuraLite renders translucent blocks with proper per-block transparency through a dedicated gbuffers_terrain_translucent pass, ensuring correct display on both Iris and Oculus pipelines:
WATER_TRANSPARENCY (Clear / Balanced / Deep).final.fsh applies a subtle screen-space distortion above lava pixels to simulate rising hot air.AuraLite's sky is meteorologically modeled after the international cloud classification system:
Altitude (m)
16 000 ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ↑ Cumulonimbus (Cb)
12 000 ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│
10 000 Ci ─ Cirrus │ Vertical
8 000 Cc ─ Cirrocumulus │ Development
6 000 ─ ─ Cs ─ Cirrostratus ─ ─ ─ ─│─ High Clouds (Cirrus layer)
5 000 Ac ─ Altocumulus │
4 000 As ─ Altostratus │
2 000 ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│─ Mid Clouds
1 500 Sc ─ Stratocumulus │
1 000 St ─ Stratus │
500 Ns ─ Nimbostratus │─ Low Clouds (Cumulus layer)
0 ─ ─ Cu ─ Cumulus ─ ─ ─ ─ ─ ─ ─│
AuraLite smoothly transitions these layers based on in-game weather conditions (clearing, rain, or storms).
AuraLite is built from the ground up for maximum FPS using OpenGL 4.6 native hardware operations:
fma() intrinsic that caused compilation issues on some GPUs / Mesa drivers.fract(sin(dot(...)))) with ultra-fast Integer Bitwise PCG-style hashes utilizing floatBitsToUint and uintBitsToFloat.gbuffers_skybasic, and redundant render calls to reduce GPU compilation time.AuraLite includes localized in-game configuration files for 69 language codes, including major European, Asian, American regional variants and compatibility aliases such as fil_ph / tl_ph.
⚠️ Some localization strings may be inaccurate. If something looks strange, compare with the English original.
[Lighting Settings]512 / 1024 / 2048 / 4096 / 8192 — real Iris shadowMapResolution const (8192 for EXTREME).Sharp / Soft / Ultra Soft — rotated Poisson disk filtering.Near (60m) / Standard (80-120m) / DH Seam (192m) / Far (256m) / DH Extended (512m) / DH Far (768m) — fades with SHADOW_LOD; 192/512/768 m give Distant Horizons a useful shadow-map footprint.Off / Balanced / Aggressive — reduces samples (32→16→8→4) and expands filter radius at distance.DH_SHADOW_RANGE) (v1.1.4) — Seam (1.25×) / Extended (2×) / Far (4×) of vanilla far. No effect without Distant Horizons. The DH-specific shadow pass is off by default (dhShadow.enabled=false) to protect vanilla terrain shadows on Iris 1.7.6 + DH 3.2.Disabled (fixed softness) / Enabled (distance/rain-based penumbra).Neutral Gray / Cool Blue (Realistic) / Warm.Dark / Standard / Lifted (Bright).Realistic (Lambert) / Soft / Stylized.Cozy / Warm / Intense — Customize block light warmth.COZY_LIGHTS) — Real-time flicker animations for torches, campfires, and lanterns.Subtle / Standard / MirrorSubtle / Balanced / Deep.SSR) (v0.2.9) — loader-agnostic screen-space reflections for water and wet glossy surfaces.Fast / Balanced / High raymarch step budget.Soft / Balanced / Mirror reflection intensity.PBR_DISTANCE) (v1.0.3) — Near (16m) / Standard (48m) / Far (128m) / Unlimited — maximum distance for PBR specular calculations. Saves GPU on far terrain.[Sun & Moon] (since v0.2.2)Dim / Standard / Bright / BlazingCool / Neutral · Realistic (Tanner Helland) · Warm GoldenPitch Night / Standard / Bright Moon / Full NightIcy Blue / Silver (Realistic 4100K) / Warm Cream[Foliage Settings]Gentle / Breeze / GaleFOLIAGE_SSS) (v1.0.3) — Subsurface scattering / translucency for leaves and plants (light bleeding when looking toward the sun).[Water Settings]Clear / Balanced / Deep — Adjust water transparency.WATER_RIFFLES) — Calm / Standard / Choppy — Fine normal-map ripples.WATER_SPECULAR_STRENGTH) — Soft / Standard / Glinting — Brightness of sun/moon highlights on the ripples.WATER_WAVE_SCALE) (v0.2.9, spectrum rebuilt in v1.1.4) — Calm / Standard / Choppy / Stormy — Gerstner swell amplitude used by SSR/refraction.WATER_WAVE_DETAIL) (v0.2.9, spectrum rebuilt in v1.1.4) — Coarse / Standard / Dense — Gerstner wavelength/capillary density.Moonlit Pool / Dim / True Night / Pitch Dark — controls how dark underwater scenes become at ni