DAP Shaders 3.5
===============

An intermediate release on the way to version 4. The goal was breadth: get every
major missing feature in and working at a basic level, rather than polishing any
single one to completion. Version 4 deepens them.

=======================================

--- 3.5 ---

FIXES (all of these shipped in 3)
- FIXED: Custom Time and Custom Weather were enabled BY DEFAULT, locking the sky
  and lighting to permanent noon / permanent clear while shadows still followed
  the real sun. The day/night cycle now works out of the box. Both overrides are
  still there, just off unless you turn them on.
- FIXED: a duplicate, dead copy of the time/weather system (CUSTOM_TIME,
  CUSTOM_WEATHER, WEATHER_MODE, and a second TIME_OF_DAY with a conflicting
  slider list) sat in settings.glsl with nothing calling it. Removed.
- FIXED: Cloud Density was used by the cloud shader but never appeared in the
  menu; End Portal Speed was in settings but wired to nothing. Both work now.
- FIXED: eight options had tooltips but no display name, so they showed as raw
  define names in the menu.

NEW: WAVING FOLIAGE
- Grass, flowers, crops, saplings and leaves move in the wind. Plants are hinged
  at their base so they bend rather than sliding off their block.
- Underwater plants (kelp, seagrass) sway slower and wider.
- Separate strength sliders for plants and leaves, plus wind speed and gust size.

NEW: UNDERWATER
- Being submerged now does something. Colour is absorbed with distance, red
  first, so deep water goes blue-green the way real water does.
- Lava and powder snow get their own submerged looks.

NEW: WATER REFRACTION
- The surface bends what is behind it, following the waves. Translucent surfaces
  are now blended inside the shader rather than by the hardware to allow this.

NEW: CAUSTICS
- Dancing bands of focused light on underwater surfaces, only where daylight
  actually reaches.

NEW: COLOURED SHADOWS
- Stained glass and water tint the light they block instead of casting flat black.

NEW: CLOUD SHADOWS
- Clouds darken the ground beneath them, sampling the same cloud field you can
  see overhead, so the shadow matches the cloud.

NEW: HELD LIGHT
- A torch (or any light-emitting block) in either hand lights the world around you.

NEW: LabPBR MATERIAL SUPPORT  (off by default)
- Normal and specular maps from a LabPBR resource pack: real surface bumps,
  per-texel roughness, and a texture-driven emission channel.
- OFF by default: it does nothing without a PBR resource pack loaded and still
  costs two texture samples. Turn it on under Materials & PBR.
- This is the basic version. Parallax (POM), metals/F0 and subsurface scattering
  are version 4.

NEW: SIX MISSING GEOMETRY PROGRAMS
- Beacon beams, mob eyes, enchantment glint, rain/snow particles, the block
  breaking overlay and block entities previously fell back to a generic program
  and were shaded like ordinary surfaces. Beacon beams and mob eyes now glow
  properly, and rain/snow is tinted by sky light so it reads correctly at night
  and under cover.

NEW: CAMERA & ANTI-ALIASING
- FXAA to smooth jagged edges (cheap, no ghosting).
- Motion blur and depth of field, both off by default.
- Frame-to-frame reprojection is in place, which is the groundwork version 4
  needs for temporal AA.

NEW: AURORA
- Curtains of light in the night sky. Fades out during the day and in rain.

MENU
- Two new screens: Materials & PBR, and Camera & Anti-Aliasing.
- Every new option has a label and an impact rating, matching the existing style.
- Performance Mode and the Potato / Low / Medium profiles now also switch the new
  heavy effects off.

KNOWN GAPS (planned for version 4)
- Temporal AA. FXAA is the stand-in for now.
- Parallax occlusion mapping, metals and subsurface scattering for LabPBR.
- Rain puddles and surface wetness.
- Distant Horizons support.
- Coloured voxel lighting / GI.

TESTING NOTE
- All 140 shader programs compile cleanly under a real GLSL compiler
  (glslangValidator) across six setting combinations, including all features on,
  all off, and LabPBR on.
- Compiling is not the same as looking right. This build has NOT been run inside
  Minecraft, so please check the new effects in-game before publishing.

=======================================

--- 3.2 (performance) ---
- Dark UI removed (it was a resource pack anyway); this is a pure shaderpack again.
- Bloom now computed at half resolution: the two bloom passes run at ~1/4 the pixels
  with no visible change.
- colortex2 (lightmap + material id) dropped from RGBA16 to RGBA8: less memory bandwidth.
- SSR sky fallback is only evaluated when a reflection ray actually misses.
- Performance Mode now also drops the sharpening taps.
- (Volumetric fog was already half-res; clouds already use adaptive octaves + early-outs.)

--- 3.1 ---
- Menu reorganised into clean groups: Graphics / Lighting / Sky / Dimensions /
  Animations / Gameplay / Colour & Artistic / Water (+ Profile & Performance Mode on top).
- Every setting now shows its graphical impact on hover (None .. Very High).
- GAMEPLAY: client-only visual Time-of-day and Weather overrides. These affect ONLY
  your screen's sky/light look - they do NOT run /time or /weather, do not touch the
  server, other players, mob spawns, or real shadows, and weather does not add rain particles.
- Custom animated Nether portal (toggle + brightness).
- Emissive blocks: crying obsidian, glowstone, sea lanterns, shroomlight, froglights,
  end rods, amethyst, etc. now glow and bloom. Edit block.50 to add your own.

--- 3.0 ---
- New Extra Features menu: Purkinje night-vision shift, contrast-adaptive Sharpening,
  cinematic Letterbox bars, Posterize, and per-channel Sky Tint.
- End portal optimised: parallax depth is now a slider (default 2, was fixed 3);
  nebula already optional. Cheaper on portal-heavy scenes.
- Sharpen auto-off on Potato/Low profiles.
- Verified for OptiFine / Iris on MC 1.16+ (Iris-only lines like separateEntityDraws
  and buffer scaling are ignored gracefully on OptiFine / older Iris).

NOTE: dark-mode menus (chests, hoppers, brewing stands, creative, etc.) are GUI
textures rendered outside the shader pipeline and CANNOT come from a shaderpack.
Use the companion 'DAP Dark UI' resource pack for that.

--- 2.3 ---
- Everything toggleable: new Dimensions menu screen + Performance Mode master switch.
- More customization: Space Portals on/off, portal brightness / star density / nebula, skybox+sun+moon brightness, Nether biome-tint strength, End ambient.
- Performance: Performance Mode force-collapses SSAO/SSR/fog/clouds/bloom/nebula + trims shadows; nebula disabled on Potato/Low profiles.

--- 2.2 ---
- End portal / end gateway now render a procedural window into space (stars + nebula, emissive) instead of flat black.

--- 2.1 fixes ---
- Opaque entities no longer render see-through (blend.gbuffers_entities=off + forced opaque alpha).
- End: procedural black-hole sky now visible (vanilla end_sky tiles discarded in the End).
- Custom skyboxes / sun / moon render at faithful brightness (skytextured no longer over-brightens).
- Nether lighting no longer a flat red flood: tempered lava tint + neutral fill so albedo/shape read.
- End ground lighting given a neutral fill so end stone stays readable under the violet key.
