## v1.3
### Reflections
* SSR rewritten as a screen-space march with perspective-correct depth interpolation (1/z is linear in screen space): every step lands on a fresh pixel, so distant reflections resolve crisply instead of skipping and smearing
* No matrix math inside the ray loop anymore as depth linearization is two fused ops, so the rewrite is both sharper and cheaper
* Step count adapts to the ray's on-screen length (14 to 40) to hit thickness scales with distance and validation is tighter, cutting ghost hits behind thin geometry
### Clouds
* Volumetric cloud lighting now uses real scattering formulas: a dual-lobe
Henyey-Greenstein phase function (the standard model for light in water droplets) gives a bright silver lining toward the sun and soft backscatter away from it, a two-term Beer transmittance approximates multiple scattering so cloud interiors stay luminous instead of going black, and a powder term darkens thin wispy edges
* Cloud bases sit darker and flatter (height gradient)
* Clouds drift about 4x slower and no longer morph constantly advect on the same wind vector, so a cloud moves as one body instead of its detail
layers sliding at different speeds
* Fixed a profile bug: Medium, High and Ultra now explicitly select Volumetric cloud mode
* New Cloud Quality step 32; Ultra uses it
### Light sources
* Block light (torches, lanterns, lamps) now follows the inverse-square law: the lightmap encodes distance to the source (vanilla light drops one level per block), so it gets remapped to real distance and attenuated with the same windowed inverse-square formula real renderers use for point lights. Light sources read as bright pools that fade fast, not an even wash
* Held-light uses the same attenuation
* Torch color documented as roughly a 1900K blackbody, matching real flame
* Realistic Light Falloff toggle under Visuals; the old curve remains as the off state
### Glowing mobs & portal glow fix
* Blazes, magma cubes, glow squids and allays are now emissive: their bright texels glow and feed the bloom pass, under the same Glowing Blocks toggle
* Eye-glow mobs: enderman, spider, cave spider, phantom and guardian eyes emit with a high luma threshold, so the eyes burn in the dark while the body stays unlit - purple enderman eyes in a dark forest, red spider eyes in caves
* Removed the portal glow prefilter: its point-sampled early-out produced hard on/off boundaries (torn rectangular notches in the glow). The gather now always runs within range and is perfectly smooth
### More real formulas & performance
* Water depth uses true Beer-Lambert absorption with per-channel coefficients: red is absorbed within meters, blue survives, so depth turns teal for the physical reason rather than a hand-picked fade color. Underwater fog uses the same law
* Purkinje shift: dark scenes drift toward desaturated blue-grey, matching how human rod vision behaves at night (toggle under Color & Tone)
* Depth unprojection in the composite exploits the projection's symmetric structure: five terms instead of a full matrix multiply, across every SSAO/SSR/glow sample
* The cloud march's sun-occlusion probe uses a cheaper 2-octave density (the light sample does not need full detail), cutting volumetric cloud cost by roughly a quarter
### Shadows & block light polish
* Shadows upgraded to PCSS (percentage-closer soft shadows): a blocker search measures how far above the surface the caster sits, and the penumbra widens with that distance - the real behavior of sunlight as an area source. Shadows are contact-sharp at the base of a wall and progressively softer for tall trees. Fully lit pixels early-out after the
4-tap search, so most of the screen got cheaper while shadow edges got better
* The PCF disk is a noise-rotated Vogel spiral (8 taps) instead of a fixed 4-tap square, removing the boxy shadow edge
* Light patches projected through stained glass follow the same penumbra physics
* Block light falloff rebalanced: inverse-square core plus a cubic near-field term, because glowstone and lanterns are area sources with indirect bounce, not bare point lights
### Water & portal polish
* Water fresnel replaced with true Schlick using water's physical F0 = 0.02 (from its refractive index): 2% reflection looking straight down so you see into the water, climbing to a near-total mirror at grazing angles
* Wave normals and rain ripples flatten with distance: far ripples are smaller than a pixel, so full-strength normals only produced aliasing speckle across the ocean
* Portal glow gather rebuilt as a Vogel spiral disk rotated by interleaved gradient noise: smooth pool of light with a soft edge instead of banded dither blotches, with a tighter radius and gentler intensity
### Glass
* Stained glass throws vivid colored light: the tint that sunlight picks up passing through translucent blocks is now saturated, so a stained glass window paints strong colored patches on the floor behind it
* Windows catch the sky: glass gets a fresnel reflection of the sky gradient and a sun glint at grazing angles
* Glass Reflections toggle under Water options
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }