CIRRUS SHADERS BY ARYA  -  vibrant Minecraft rain shader pack (balanced + low-end optimized)
=======================================================

INSTALL
  1. Install Iris (recommended, Fabric/Quilt/NeoForge) or OptiFine.
  2. Put the shader zip in  .minecraft/shaderpacks/  (do NOT unzip it).
  3. Options > Video Settings > Shader Packs > CirrusLite.
  Then open Shader Pack Settings and pick a profile: POTATO / LOW / MEDIUM / HIGH.

FEATURES
  * Sun + moon shadows (distorted shadow map, soft edges, leaves cast shadows)
  * Procedural sky with a real sun disc, moon disc with surface detail, rotating stars
  * Volumetric-style clouds (6-step ray march, self-shadowed, silver lining)
    - in rain they GROW: coverage 30% -> ~75%, deck lowers, layer becomes ~2.5x thicker and darker
  * Water reflections: sky + sun/moon glints + clouds, plus screen-space reflections of the world
  * Rain: subtle low-opacity rain drops, visible through leaf canopies, softer fog, plants sway harder
  * Rain on the ground: broad puddle coverage across exposed blocks, reflective wet surfaces, and ripples
    the sky and nearby objects, ripples animate in puddles and water. Wetness dries off slowly.
  * Underwater absorption/fog, depth-tinted water

PERFORMANCE NOTES (all in Shader Pack Settings)
  * Biggest costs: shadow resolution, cloud steps, reflection steps, and soft-shadow taps.
  * Low-end defaults: 768 shadows, 4 cloud steps, 6 SSR steps, balanced lighting; POTATO remains available for very old GPUs.
  * Only 3 full passes: shadow, geometry, one composite. No bloom/AO/TAA/god-rays.
  * Cloud ray-march only runs on sky pixels; reflections only on water / wet pixels.

HOW IT WORKS (for tweaking)
  lib/settings.glsl  - all toggles/sliders
  lib/sky.glsl       - sky colours, sun/moon/stars, cloud shape + rain expansion
                       (search "RAIN_CLOUD_EXPAND": cov / base / thick / dens)
  lib/light.glsl     - day/night lighting + shadow sampling
  gbuffers_terrain   - wetness, puddle mask, ripples
  composite.fsh      - sky, SSR, reflections, fog, rain overlay, colour grade

KNOWN LIMITS
  * Shader code compile-checked with glslang (all programs + option combos) but written
    without in-game testing: if something looks off, tell me what/where and I'll tune it.
  * Shadow bias values may need a nudge on some GPUs (lib/light.glsl, "sc.z -= 0.0007").
  * Tested design target: Minecraft 1.16 - 1.21 with Iris/OptiFine.


CUSTOM BUILD
  Cirrus Shaders by Arya: brighter emissive lighting, vibrant color grade, broad puddle coverage, subtle rain, and opaque player/entity skins. v2: fixed hand + character turning see-through (reflection/water data bleeding from blocks behind them; entities now write a solid-object marker to colortex2 that composite respects).


V3 ADDITIONS
  * God rays (screen-space light shafts from the sun, moon and low sunsets). Shafts pass through leaf canopies.
    Settings: GODRAYS, GODRAY_STEPS, GODRAY_STRENGTH   (Shader Pack Settings > Effects)
  * Vibrant blocks, grass and leaves: vibrance boost on every block, extra lively greens for grass blocks,
    grass, ferns, vines and leaves, plus warm sun glow through leaves.
    Settings: VIBRANT_BLOCKS, BLOCK_VIBRANCE, VIBRANT_FOLIAGE, FOLIAGE_VIBRANCE, LEAF_GLOW
    (Shader Pack Settings > Colour & Vibrance)
  * New toggles/sliders: Bloom + strength, Vignette, Fog density, Rain streak opacity, Saturation, Exposure,
    Torch brightness. Profiles (POTATO/LOW/MEDIUM/HIGH) now also set god rays and bloom.


V4 / v1.1.0 - LOW-END + LOOK FIXES
  * FIXED: grass / ground turning white or sky-coloured at medium distance.
      - In rain, plants were shaded as flat wet ground and their reflection grew toward 100% at grazing angles
        (= far grass became a mirror of the sky). Plants and leaves are no longer reflective, grass blocks are
        only damp, wet-ground reflection is capped and fades with distance.
      - Fog is now squared-distance: near and mid range stay crisp, haze only builds up far away
        (rain fog is roughly half as thick at 60-100 blocks).
  * Sun is ~15% less bright (new slider: Lighting > Sun Brightness, default 0.85). Affects sun light, sun disc,
    halo, sky glow, clouds and god rays. Moon is untouched.
  * Coloured lighting (all analytic, no extra passes): cool blue skylight in shade, warm sun, rosy twilight,
    warm ground bounce on undersides, torch light that goes ember-orange at its edge and warm white at the source,
    cool-tinted cave minimum. Time-of-day colours are now computed once per vertex instead of per pixel.
  * Rain: slanted streaks, cold blue-white (warm at sunset), brighter cores, no fat streaks on the lens,
    more patchy puddles with ripples limited to nearby ground.
  * DYNAMIC RAIN (Rain & Wetness > Dynamic Rain): wind gusts that change rain slant and direction, thicken and thin
    the streaks, push grass and leaves harder, and make the rain haze drift. Rain Slant slider sets the base lean.
  * COLOURED LIGHTING option (Lighting & Shadows > Coloured Lighting, plus a Colour Strength slider). Turn it off to get
    the old neutral lighting.
  * Water and rain-puddle reflections are fully kept (SSR + clouds + sun glints, default 6 steps). Only grass, flowers
    and leaves are excluded from reflecting.
  * Performance: clouds default to 3 steps with a cheap self-shadow below quality 4; god rays only march in a cone
    around the sun/moon and are off in heavy rain; bloom is 2 taps; time-of-day light colours are computed per vertex;
    shadow lookups are skipped in caves, on back faces and in heavy rain; ripples only near the camera; soft shadows
    are now a real option, off by default. Lower Reflection Quality if you need more FPS in rain.


V5 / v1.2.0 - NETHER + END (only active in those dimensions; the Overworld is untouched)
  Implemented with dimension folders (shaders/world-1 = Nether, shaders/world1 = End). Programs not overridden there
  fall back to the normal Overworld ones, so nothing changes in the Overworld.
  * NETHER: was dark because the lighting depended on sky light, which the Nether does not have. Now it has a warm
    ember ambient, lava glow bouncing up under overhangs, thick warm haze in the biome's own fog colour
    (crimson / warped / soul sand valley / basalt), no shadow pass, no god rays.
    Setting: Nether & End > Nether Brightness.
  * END: black violet sky with faint stars and purple clouds with glowing edges that drift (clouds also appear below
    you over the void), violet ambient + soft top-down key light, violet-black distance haze, no shadow pass.
    Settings: End Brightness, End Purple Clouds, End Cloud Layers (1 = faster), End Cloud Brightness, End Stars.

V5.1 / v1.2.1 - End sky fix: clouds were covering the whole screen (purple + black everywhere, also in the void
  below). Now the sky is mostly black with sparse, soft purple clouds only above the horizon (about 20% coverage),
  one layer by default (End Cloud Layers = 2 for a denser sky), black void below.

V6 / v1.3.0 - END SKYBOX REPLACED WITH A BLACK HOLE
  * The End sky is now pure black with faint stars and a black hole: event horizon, photon ring, a spinning tilted
    purple accretion disk (brighter on one side), a lensed halo arc above/below, and stars bent around it.
    The purple clouds are removed. Only active in the End; the Overworld and Nether are unchanged.
  * End terrain lighting and fog are calmer / less purple so the screen is not flooded with purple.
  * Settings (Nether & End): End Black Hole Sky, Size, Brightness, Height (how high it sits above the horizon),
    End Stars, End Brightness.

V7 / v1.4.0 - AURORA + MICRO PROFILE + MORE LOW-END OPTIMISATION
  * The End is left exactly as it was in v1.3.0 (black hole sky). To get the plain Overworld look back in the End,
    delete the shaders/world1 folder inside the zip.
  * AURORA BOREALIS (Sky > Aurora Borealis): rippling northern-lights curtains with vertical rays that swell and
    fade over time. Clear nights only, hidden by clouds, reflected in water. Settings: Strength, Quality (curtain
    slices 3-8), Colours (green + magenta / teal + blue / pink + violet). On in LOW / MEDIUM / HIGH, off in POTATO / MICRO.
  * NEW PROFILE: MICRO (below POTATO) for the weakest PCs: shadows off AND the shadow pass fully skipped, per-vertex
    lighting, no clouds, no reflections, no god rays / bloom / vignette, no waving, no puddle noise, no water waves,
    no vibrance / leaf glow, no aurora.
  * POTATO retuned: shadows 384 px / 32 blocks, per-vertex lighting, flat single-tap clouds, no reflections, no
    god rays / bloom / vignette / waving / ripples / foliage vibrance / leaf glow.
  * New optimisation options (Performance screen): Fast Vertex Lighting (sky, torch and sun lighting computed per
    vertex; only the shadow lookup stays per pixel), Cloud Quality 0 = off and 1 = flat single-tap clouds, shadow maps
    down to 256 px / 32 blocks. Turning Shadows off now culls the entire shadow pass instead of only skipping lookups.
  * Every profile now lists all of its options, so switching profiles always resets everything cleanly.
