# ModernPSX v0.23.31

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

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.
