# ModernPSX v0.23.58

An original Iris shader pack combining visible PSX geometry and colour behaviour
with modern directional lighting, shadows, atmosphere, and water.

Version 0.23.58 raises daylight sun-shaft output by a further 40 percent over
v0.23.57. This is a pure intensity adjustment: volumetric shape, forward-
scatter surface coverage, variance response, sky haze, solar aureole, and moon
shaft strength remain unchanged.

Version 0.23.57 raises daylight sun-shaft output by 20 percent now that the
surface-covering forward scatter introduced in v0.23.56 has established the
right shape. The volumetric march, surface coverage, variance response, beam
envelope, sky haze, and solar aureole are unchanged. Moon shafts retain their
previous strength.

Version 0.23.56 removes the screen-space silhouette rim attempted in v0.23.55.
Sunward illumination now comes from the existing world-space volumetric march:
uniformly sunlit air gains a broad forward-scattering response close to the
solar direction, so the volume covers visible tree and terrain surfaces rather
than tracing only their outlines. Lit/shadow variance still strengthens
distinct shafts, while directions away from the sun keep a very low baseline
to avoid a flat full-screen veil. Moon shafts remain restrained. The sky haze,
solar aureole, receiver guard, and longitudinal beam shaping from v0.23.54 are
retained.

Version 0.23.54 moves the broad daylight haze upward into the middle and upper
sky. The horizon-side sky veil is slightly reduced while the zenith contribution
is increased substantially and shifted toward a pale atmospheric blue, making
the majority of the visible haze come from the dome rather than appear joined
to ground-level fog. The solar aureole is also much stronger: its wide veil is
raised moderately while the middle halo and compact inner glow receive a larger
increase, embedding the sun clearly in the illuminated sky. Terrain haze,
distance fog, and shaft strength remain exactly as established in v0.23.53.

Version 0.23.53 moves the daytime atmosphere away from relying on explicit sun
shafts. The Overworld sky now carries a broad aerosol fill across the dome and
three continuous layers of solar haze: a wide veil, a middle aureole, and a
compact bright glow that embeds the sun in illuminated air. The haze becomes
warmer at low sun angles and pale at midday, follows the existing Day Haze
Strength control, and fades smoothly with rain. Explicit sun shafts are reduced
to 55 percent of their previous contribution so they remain secondary accents
rather than the primary source of atmosphere. Terrain distance fog, night sky,
Nether atmosphere, End void, and established PSX presentation remain intact.

Version 0.23.52 reshapes volumetric shafts so they no longer read as uniformly
coloured strips. Scattering fades in near the viewer, holds a stronger middle,
and fades out before the ray endpoint. A centre-weighted shadow filter gives
each opening a brighter core with softer shoulders, while the full occlusion-
variance range now produces genuinely different ray strengths instead of
quickly saturating most partial beams to the same value. All shaping remains
world-space and frame-stable; the v0.23.50 motion fix and v0.23.51 receiver
guard remain intact.

Version 0.23.51 prevents distant trees, walls, and terrain from appearing to
emit or carry sun shafts. A guarded terminal region beside opaque scene depth
no longer contributes to the variance test that decides whether the complete
camera ray contains a structured beam. Low open-air scattering remains, and
real lit/shadow transitions crossing the air before that receiver still form
shafts. This keeps the v0.23.50 movement-stability fix intact.

Version 0.23.50 stabilizes world-space sun and moon shafts while the player is
moving. The whole-screen observer-exposure switch and hard world-cell sampling
rotation introduced in v0.23.49 have been removed; both could jump when a
nearest-filtered shadow texel changed. Extinction is now continuous and local
lit/shadow variance alone raises distinct beams, with a low constant baseline
keeping open sunlight from becoming a flat atmospheric veil. The physical
phase response and Beer-Lambert falloff introduced in v0.23.49 remain intact.

Version 0.23.49 replaces the simple shaft average with contrast-aware single
scattering. Beer-Lambert extinction accumulates sunlight through subtly varied
world-locked air, a Henyey-Greenstein phase gives the rays realistic viewing-
angle response, and filtered shadow-map samples soften foliage-shaped columns.
A compact exposure sample around the player's eye smoothly reduces beam
contrast in direct sun while leaves, roofs, terrain, and caves restore it in
shade. World-space occlusion and the ground appearance introduced in v0.23.48
remain intact.

Version 0.23.48 replaces the terrain-painted sun glow with fully world-space
volumetric shafts. Rays march from the player's position to the visible scene
depth and query the shadow map at each world-space sample, so terrain, leaves,
and other shadow casters break the light into stable columns. Mixed lit and
occluded air is emphasized while uniformly lit air stays restrained, producing
visible forest beams without washing upward-facing blocks. The composite's
extra screen-aligned solar-core shine has also been removed.

Version 0.23.44 restores the upward ambient and overhead-sun response needed
by crossed grass and fern cards, while removing their old shadow-pass
suppression. Grass now casts its real animated cutout silhouette like crops,
so surrounding blades respond to the sun's direction instead of remaining
uniformly bright. Wind, sparse-card GTAO, and flower treatment remain intact.

Version 0.23.43 restores grass and fern cards to the same directional scene-
lighting path used by crops and ordinary blocks. Their real card normals now
govern sunlight and world-shadow response again; foliage wind and the existing
sparse-card GTAO treatment remain unchanged. Flower-specific lighting remains
unchanged.

Version 0.23.42 removes the Overworld celestial composite from the End. The
cosmic void has no solar disc, amber halo, sun shafts, or moon shafts; all
non-celestial End rendering remains identical to v0.23.41.

Version 0.23.41 starts again from the exact archive distributed as v0.23.34.
The complete original shader-program set is mirrored into the End so its
lighting, emissives, terrain, entities, coloured lighting, composite, final,
and post effects remain unchanged. Only the End's basic and textured sky
fragments differ. They colour the existing sky draw with a static world-space
void: mostly violet-black, broken low-contrast indigo and dusty-blue stains,
large empty pockets, and sparse hard stars. Its construction follows the
Nether void's coarse world-direction noise rather than a modern nebula effect.

Version 0.23.31 restores the complete coloured-light injection and propagation
pipeline inside the Nether dimension override.
Voxy already injects the uniforms and samplers requested by `voxy.json`; the
pack no longer redeclares those generated bindings in its fragment patch.
This prevents Voxy from falling back to its normal, visually incompatible
pipeline. Grassier Grass also receives a substantially darker time-of-day
response: open-night environmental lighting is reduced to 12%, moon-shadowed
night lighting falls further, and daytime world shadows are stronger. Direct
daylight and nearby block light remain intact.

Version 0.23.28 fixes Voxy's patch-data load failure by keeping the root
`voxy.json` strictly JSON; the previous unused include was expanded before
Gson parsing and produced an unterminated object. It also replaces Grassier
Grass's mild night adjustment with a stronger environment-driven response.
Generated blades retain their daytime sunlit appearance, but now darken much
more clearly with game time, world shadow, and moon shadow while nearby block
light remains independent.

Version 0.23.27 adds explicit Voxy shader-pipeline support. Voxy opaque LoD
terrain now receives its texture tint, face-direction lighting, skylight,
block light, day/night response, rain response, and the same geometry-only
distant haze and terminal fog used by the Distant Horizons path. Voxy water is
also shaded, tinted, fogged, and alpha blended. The LoD pass remains excluded
from vanilla depth so Cinematic GTAO does not turn coarse distant geometry into
dark outlines or affect the visible sky.

Version 0.23.26 adds dedicated scene-lighting handling for the freestanding
azalea and flowering azalea bush blocks. Their model vertices can retain high
baked skylight under shelter, making the plants look detached from a dark
scene. They now use a stable world-shadow receiver and stronger shadow/night
environmental response while preserving ordinary model shading, opacity, GTAO,
direct sunlight, and nearby block light. Azalea leaf blocks remain unchanged.

Version 0.23.25 revises the Grassier Grass patch after visual comparison. It
preserves the mod's original blade coverage instead of forcing every blade
opaque, removing the dense AO-like appearance. Generated blades remain excluded
from GTAO, but now use a stable upward receiver normal only for world-shadow
lookup. Strong daytime shadows reduce their environmental lighting to 52%, open
night lighting to 58%, and moon-shadowed night lighting further, while direct
sunlight and nearby block light retain their prior response.

Version 0.23.24 adds automatic Grassier Grass 1.4.5 compatibility. Generated
blades are recognized from the mod's terrain-cutout vertex signature, their
packed animation normal is no longer mistaken for a geometric lighting normal,
and their packed blade identity no longer becomes fragment opacity. Sunlit
grass retains its existing brightness, while strong world shadows and night
lighting receive a restrained blade-only reduction; nearby block light remains
unchanged. Grassier Grass blades also use the existing sparse-vegetation GTAO
treatment instead of behaving like dense solid geometry.

Version 0.23.23 fades Cinematic GTAO out before distant geometry dissolves into
fog, prevents translucent glass from applying atmospheric fog to an already
fogged background a second time, reduces broad stained-glass tint while
retaining its dark texture details, and adds restrained distance-damped wind to
leaves, grass, and ferns with matching shadow movement. Wind speed and movement
strength are independently adjustable. Sparse grass and fern cutout cards no
longer receive or cast GTAO as if they were solid walls, preventing dense fields
from collapsing into dark clumps while retaining ordinary lighting and shadows.
Grass and fern cards now use an upward vegetation lighting normal so their
sunlight and skylight response matches the ground rather than a vertical wall.
Stained glass alone now bypasses the water-column distance treatment that Iris
routes through the shared translucent terrain pass. Normal and tinted glass
retain their established appearance.
Vegetation uses its true two-sided card normal for shadow projection and bias,
separate from the upward normal used for sunlight and skylight brightness. This
prevents the raised-surface shadow leaks introduced by the initial grass-lighting
correction.
The grass lighting group now includes bush, firefly bush, berry bush, and dead
bush. These thin crossed vegetation cards still receive world shadows but no
longer cast isolated one-pixel shadow-map slivers. Screen-space openness now
uses stable camera skylight rather than wide offset depth probes, preventing
faint displaced copies of shields, FirstPerson body geometry, block edges,
leaves, or other strong silhouettes.
All plant-shaped vanilla flowers present in Minecraft 26.2 now share the grass
lighting, GTAO, wind, and cutout-shadow treatment. Solid or hanging blocks that
also appear in the broad vanilla flowers tag remain untouched. The default
stained-glass tint has been raised from 0.38 to 0.50 for slightly stronger
colour transmission without restoring the former opaque veil.
Flowers now use a dedicated material group. They retain the grass-style AO,
wind, upward lighting, and cutout-shadow handling, but their pre-tone-map
radiance is reduced by 12 percent so bright petals no longer clip as readily.
Foliage wind now combines a coherent prevailing direction with stable per-block
phase, speed, strength, and gentle direction variation. A slower travelling gust
envelope spreads stronger movement across the landscape without camera-relative
jitter or uniform whole-field pulsing.

**Cinematic** is now the fresh-install default. It combines the floating-point
scene pipeline, half-resolution temporally accumulated GTAO, reduced-resolution
bloom, the established ModernPSX display curve, and the original crisp PSX
shadow method. The experimental variable-penumbra shadows and volumetric clouds
remain available as manual options, but are disabled in the standard Cinematic
profile. The PSX, Modern, and Performance profiles remain selectable unchanged.

Sun and moon shafts now use the same world-space shadow-map march, without a
projected screen-space occlusion sample switching the whole shaft field on or
off as the camera moves.

Held dynamic-light intensity is reconstructed continuously per fragment using
the same linear radius as Sodium Dynamic Lights. This masks its moving,
integer-packed block-light boundary while retaining brighter static block light
and the existing world-stable voxel colour system.

Held-light chroma now follows that motion continuously through both voxel
cascades, preventing the light from alternating between its authored colour and
neutral white. GTAO now verifies that the visible depth belongs to the opaque
world surface which generated its normal and history. Late-rendered hands and
FirstPerson character geometry therefore reject the terrain AO lying behind
them, while ordinary world entities retain normal AO participation.

The Cinematic geometry attachment now disables blending specifically for
translucent entity and hand passes. Their no-AO marker replaces the terrain
marker behind a FirstPerson player model instead of becoming an alpha-zero
no-op; visible colour blending is unaffected.

Rain affects weather, haze, cloud coverage, and water presentation. It does not
reduce terrain or entity roughness and does not make ordinary wet surfaces shiny.

Affine texture mapping is limited to terrain, blocks, water surfaces, and
compatible world-renderer passes. Player hands, held items, third-person player
models, mobs, and other entity geometry remain stable while the nearby world
retains the effect.
