All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Solstice

Solstice

by d0mkaaa • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Solstice v2

Thanks for 10,000 downloads in total!

Solstice banner

A semi-realistic Minecraft shader with adjustable effects and four performance profiles. Developed on an RX 6600 at 1440p.

Features

  • Soft shadows that stay sharp at contact and widen with distance, moving foliage, coloured glass shadows, and underwater caustics.
  • Blocky 3D or volumetric clouds with cloud shadows and changing weather.
  • Reflective water with ripples, underwater fog, and god rays.
  • Rain puddles, glowing blocks, portal light, snow sparkle, and animated flames.
  • Circular sun and moon, stars, meteors, the Milky Way, and occasional auroras.
  • Built-in polish for vanilla metal and polished-block textures, including held items, or full LabPBR 1.3 support with a resource pack.
  • Distant Horizons terrain and water in the Overworld, Nether, and End.
  • Bloom, FXAA, colour grading, optional sharpening, and contact shadows.
  • Survival, Balanced, or Builder lighting styles.

Install

  1. Install Iris on Fabric. It comes with Fabulously Optimized.
  2. Drop Solstice in the shaderpacks folder.
  3. Select it under Video Settings → Shader Packs.
  4. Start on the Medium profile.

Profiles

  • Low: blocky clouds, basic shadows, most expensive effects off.
  • Medium: the default for play. Volumetric clouds, materials, bloom, puddles, god rays, balanced shadows.
  • High: adds SSAO and sharper shadows.
  • Ultra: maximum cloud and shadow quality. For screenshots and fast GPUs.

SSR is off in every preset. Reselect a preset after updating to replace saved SSR settings. Lighting Style and colour settings are separate from the profile.

Settings worth trying: Lighting Style (Survival is darkest, Builder brightens interiors), Cloud Mode, Material Source, Colour Grade, Fog Density, and Water Murkiness.

Distant Horizons

Solstice has its own LOD fog and side lighting, so set these in DH:

  • LOD Fog: Off
  • LOD Side Shading: Off
  • Cave Culling: On, height around 60
  • Overdraw Prevention: 100%
  • Max Horizontal Resolution: Block
  • Quality: High for normal play

DH shadows stay off because Iris may render the whole LOD range into the shadow map. The shader still shades normal distant terrain and water.

LabPBR

Built-in materials keep vanilla texture lighting and add restrained highlights. For visible normal maps and full metal materials:

  1. Install a LabPBR 1.3 resource pack.
  2. Enable Materials and set Material Source to LabPBR Resource Pack.
  3. Start with Material Reflections on Sky Only.

Check brick, cobblestone, polished stone, quartz, iron, gold, or copper in angled sunlight. Parallax uses the height channel in LabPBR normal maps.

Performance

If the shader runs slow, lower these in order:

  1. Shadow Resolution
  2. Shadow Distance
  3. Shadow Filter Quality
  4. Cloud Quality
  5. SSR, SSAO, or material reflections

FPS while using Ultra

Ultra on Minecraft 26.1. Results depend on GPU, resolution, world, mods, and render distance.

Troubleshooting

  • DH seam is bright or dark: turn off DH LOD Fog and LOD Side Shading.
  • Underground LOD shows: enable Cave Culling and set Overdraw Prevention to 100%.
  • Materials look unchanged: use a LabPBR 1.3 pack and select it as the Material Source.
  • Compilation fails: send the full Iris error with your Minecraft, Iris, DH, GPU, and driver versions.

Full history in CHANGELOG.md.

Author

d0mkaaa (Domantas)

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.2 26.1.x 1.21.x
Iris OF OptiFine
1d ago 1
26.2 26.1.x 1.21.x +1
Iris OF OptiFine
1d ago 1
26.2 26.1.x 1.21.x +1
Iris OF OptiFine
1d ago 1
26.2 26.1.x 1.21.x +1
Iris OF OptiFine
1d ago 1
26.2 26.1.x 1.21.x +1
Iris OF OptiFine
1d ago 1
26.2 26.1.x 1.21.x +1
Iris OF OptiFine
1d ago 1
26.2 26.1.x 1.21.x
Iris OF OptiFine
1d ago 1
[2] Solstice 2 by d0mkaaa on Oct 13, 2026
Download
## v2

### Physically based soft shadows

  • Replaced the fixed texel-radii PCSS heuristic with a physical penumbra:
the sun's angular radius (0.0093 radians, shared with the visible sun disc)
drives similar-triangle softening from the blocker's height, so shadows are
contact-sharp and widen with caster distance like real area-light shadows
  • Converted filter radii from world units to local shadow-map texels through
the closed-form distortion derivative, so the same caster blurs the same
amount regardless of its position on the distorted map; depth and lateral
scale now read shadowProjection directly, adapting to resolution and
shadow-distance settings
  • Added slope-scaled receiver bias derived from N·L and the local texel size,
replacing constant depth offsets that were tuned to one resolution
  • Unified shadow-map projection across terrain, entities, native water, and DH
water through one shared receiver function with a world-space normal offset;
water glints and DH water glints previously projected with no receiver offset
  • Derived the blocker search radius from the physical maximum penumbra and
clamped it to the filter-quality sample budget

### Underwater continuity

  • Replaced the binary in-water switch with a continuous submersion factor:
the water composite and final pass probe the rendered, displaced water
surface above the camera and measure the eye's depth below it, ramping over
half a block
  • The probe now also measures the plane from nearby water-surface pixels when
the straight-up view cannot see it, so level and downward views no longer
snap to the engine's binary flag while swimming or diving
  • Water Fresnel, the refraction index flip, the surface's sky-reflection
weight, atmospheric-to-underwater fog handover, and the underwater wobble,
blur, and FXAA blend all interpolate by that factor, removing the hard pop
when diving and the flicker while swimming at the wave line
  • Transmitted content below the surface switches to the refracted sky early
in the ramp instead of at its midpoint; an eye just under the surface now
sees the Snell window it physically should, without the dark band that
appeared between the window and the horizon after submerging
  • Underwater volume integration follows the ray: upward rays stop at the
water-plane crossing, so above-water scenery seen during the ramp and sky
slivers at the shore no longer receive full-depth murk
  • The engine's in-water flag only seeds the factor when no surface is visible
overhead, so eyes above a wave trough render the clean above-water view even
while the block state still reports submerged
  • Water and Distant Horizons water sun glints hand over to the sky-lit
estimate at the shadow range, matching terrain, instead of cutting to zero;
the horizon keeps its sparkle

### Shared surface optics

  • Replaced the separate highlight formulas with one GGX BRDF shared by
materials, water, glass, and puddles: Trowbridge-Reitz distribution,
height-correlated Smith visibility, and Schlick Fresnel, with a roughness
floor of 0.045 that broadens very sharp highlights to reduce aliasing; the
previous distribution clamp flattened polished highlights, and the water and
material paths mapped roughness differently
  • Material direct diffuse weights by (1 - metalness) * (1 - F), and
back-facing light or view directions return zero before constructing the half
vector
  • Material reflectance keeps all three colour channels in an RGBA16F
colortex8, so authored conductors retain coloured reflectance including the
gold/iron distinction and HDR water highlights survive the buffer
  • Reflection normals use octahedral encoding in the existing two channels;
reconstructing an always-positive view-space Z previously lost normals in the
opposite hemisphere
  • Environment reflections use a polynomial fit to the correlated GGX
hemispherical integral offline, validated on 483 held-out angle and roughness
pairs; the fit adds no texture or runtime dependency and
preserves RGB conductor colour
  • Only the sky-derived portion of metal ambient lighting gives up energy to
environment reflections; block light, held light, dimension lighting, and
ambient floors keep their material tint, so enabling reflections no longer
dims torch-lit metals
  • Puddles use water Fresnel at the perturbed surface normal instead of a fixed
15% minimum plus a separate large reflection blend
  • Transparent blending partitions reflection and body opacity before
converting to straight alpha (F + (1 - F) * a), so reflections keep their
full weight after blending instead of being reduced by alpha a second time
  • Water uses unpolarized dielectric Fresnel at an index of refraction of 1.333
(normal-incidence reflectance about 0.0204), shared by native and Distant
Horizons water

### Deferred water and reflections

  • Added a deferred pass that copies the opaque scene to colortex9 before
translucent draws; the water composite reconstructs the surface from
colortex3 markers and colortex8 unattenuated direct specular light plus
skylight exposure, adding eight bytes per pixel per buffer set
  • Submerged cameras now blend visible clouds into the scene and the snapshot
before water and other translucents draw; the former late cloud pass skipped
underwater views and left a cloud-free sky in the water background, and
cloud_view.glsl shares one visible cloud field between the air pass and the
underwater snapshot
  • Rewrote SSR in screen_trace.glsl as interval tracing: rays clip to the near
plane and screen bounds, step along the dominant projected pixel axis, and
test the depth interval between adjacent samples instead of isolated points,
which previously let a ray step over a wall's depth slab; seven refinement
iterations and a final thickness check reject false hits, and the edge
fallback transition shrank from 28-32% of the screen to 6%
  • SSR is now opt-in: every profile and the default settings compile it out,
and materials use sky-only reflections in Medium, High, and Ultra; reselect a
preset after updating to clear saved SSR settings
  • SSR returns its fallback without tracing underwater, and its sky fallback
traces the same animated 3D cloud density and light attenuation as the visible
sky; cloud reflections in water use fewer samples and skip the cirrus layer
  • Rebuilt water waves as four travelling components at 5.5, 2.3, 1.0, and 0.42
block wavelengths whose angular frequency follows deep-water dispersion;
normals use analytical height derivatives and the submerged underside opacity
follows a slope-weighted cue from the same phases
  • Water refraction samples the deferred opaque snapshot at the original screen
coordinates; DH water now compares reconstructed native and DH positions for
occlusion, so native terrain behind water no longer erases the water face
while native foreground still occludes it, and the distance-only alpha fade
that left gaps when native water was absent is gone
  • Outdoor light shafts use visible sky depth as their source, so bright opaque
walls no longer count as sky, and underwater light shafts are disabled
  • DH terrain keeps its supplied average texture colour instead of adding
world-space material noise and a second desaturation pass, and the separate
white metal glint is removed; native and DH surfaces share one fog distance
law, and only cleared depth 1.0 counts as sky

### Glass and generated materials

  • Glass defaults to F0 0.04 and smoothness 0.90 instead of inheriting the
polished-block material; its sky fallback excludes the solar disc, and texture
detail uses ambient lighting, removing a broad coloured wash on sun-facing
panes
  • Coloured sunlight transmitted through glass onto nearby surfaces now uses an
opacity-weighted tint, (1 - opacity) + opacity * textureColour, instead of a
fixed 90% tint and 1.6 saturation boost
  • The shadow colour target now carries caster opacity and reserves alpha code
255 for water; only tagged water applies animated caustic modulation, so
moving bright stripes no longer show through glass, and translucent casters
join the blocker search so their distance controls penumbra size
  • Generated vanilla metal textures keep their diffuse body and use F0 0.04
with smoothness 0.60 (Natural) or 0.72 (Pronounced) instead of being treated
as full conductors whose sky-only reflection dominated unrepresented
surroundings; authored LabPBR conductors keep supplied metalness and
reflectance
  • Held and dropped block items resolve the same material classes as placed
blocks through currentRenderedItemId, sample terrain shadows and cloud
visibility instead of bypassing the shadow map, and clear their reflection
metadata so the world cannot reflect through the hand
  • Added steep-parallax occlusion against the LabPBR height field; flat maps
(alpha 255 everywhere, the default when a pack omits height) return on the
first probe and pay no march cost

### Clouds, sun, and night sky

  • Replaced 2D noise slices with continuous 3D value noise for cloud billows
and erosion; density now varies in all three dimensions and the flat alto
layer is removed, leaving one thin cirrus layer
  • Cloud RGB and opacity share one exponential integration instead of an
opacity-only power adjustment; each occupied sample probes density three times
along the light direction with Beer-Lambert transmission and a two-lobe
Henyey-Greenstein phase approximation
  • The sun is an antialiased disc at HDR intensity 24 with the 0.0093-radian
angular radius shared with shadow penumbra construction, plus a separate
angular halo so it stays visible through the tone curve
  • Night sky uses a continuous horizon-to-zenith gradient independent of the
engine's sky-mesh vertex colours and dims with weather; moonlight now varies
with moon phase and ambient lighting is less blue
  • The Milky Way is fainter with a smooth band structure, and stars use Iris's
star render stage (MC_RENDER_STAGE_STARS) instead of guessing from grayscale
vertex colours

### Performance

  • Fused FXAA and contrast-adaptive sharpening into one pass sharing a single
3x3 neighbourhood, roughly halving full-resolution fetches for those effects;
the fusion reproduces the previous two-pass output
[1.5] Solstice 1.5 by d0mkaaa on Oct 13, 2026
Download
## v1.5

### Materials alpha

  • Added a shared lightweight material library with LabPBR 1.3 normal, AO, perceptual
smoothness, F0/metal, and emissive decoding; absent maps retain a neutral matte fallback
  • Added Natural and Pronounced built-in material styles; the stronger choice only changes
generated vanilla metal/polished smoothness and never alters LabPBR resource-pack data
  • Terrain, entities, and the hand/held-item pass now use tangent-space normals and an
inexpensive GGX/Smith/Schlick direct response without replacing the existing lighting model
  • Extended the material path to translucent water and glass: genuine resource-pack normal
detail can perturb procedural water without flattening absent-map waves, while glass reads
LabPBR normal, AO, F0, smoothness, and emission channels
  • Added conservative built-in metal and polished-mineral classes for vanilla textures;
ordinary stone, wood, soil, and foliage deliberately remain matte
  • Reused colortex3 for opaque material normals/reflection strength, with separate class
ranges for opaque materials, portals, puddles, and water
  • Added Off / Sky Only / SSR material reflection tiers and profile defaults: Low compiles
materials out, Medium uses sky reflections, and High/Ultra permit material SSR
  • Added a dedicated Materials options page with Built-in / LabPBR Resource Pack source and
specular-strength controls

### Distant Horizons

  • Added dedicated compatibility-profile dh_terrain, dh_water, and future-ready
dh_shadow programs for the Overworld, Nether, and End
  • DH terrain reuses Solstice's sky light, block light, weather color, cloud shadows,
foliage response, emissive classification, and dimension lighting
  • Added distance-filtered world-space material detail for grass/leaves, stone, deepslate,
wood, dirt, sand, snow, terracotta, Nether stone, metal, and lava; this restores surface
breakup where Iris cannot expose block-atlas UVs to the DH shader path
  • Corrected DH grass blocks being treated as translucent foliage and metal being treated as
emissive; metal now receives a restrained broad highlight instead
  • DH water uses biome color, Solstice's user water tint, distance-stable waves, physical
Fresnel, sky reflections, light glints, and transparent blending
  • Native and DH depth now share one scene-classification/reconstruction helper
  • Atmospheric fog preserves the native look near the player, thins beyond the native
horizon for readable vistas, and dissolves only at the outer DH render edge
  • Clear-weather DH atmosphere was opened further so distant landforms retain colour and
contrast; rain, thunder, dawn mist, and dimension atmosphere remain denser
  • Added a defensive Overworld cave-face rejection for fully enclosed DH geometry below
sea level, preventing stale cave LODs from leaking through the native/DH handoff
  • Very distant DH color now receives restrained aerial chroma/contrast compression,
reducing fluorescent repeated color across large LOD triangles
  • Clouds and half-resolution reconstruction no longer mistake LOD silhouettes for sky
  • Light-shaft occlusion, underwater absorption, and native-water SSR now see DH geometry
  • Sun glare now uses a soft 16-point visibility probe plus angular broad/core response,
so terrain occlusion and crossing the player's FOV edge fade continuously instead of
switching the effect off
  • SSAO, puddle metadata, and material-style surface effects remain native-only, avoiding
wasted work and false seams on low-detail LOD meshes
  • DH shadows are deliberately disabled until their all-LOD pass meets the performance
budget; the depth-only program is present for future profiling
  • Base rendering remains guarded by Iris's DISTANT_HORIZONS feature macro, preserving the
existing non-DH path

### Weather and color

  • Volumetric cloud bodies now combine vertically decorrelated erosion fields with flatter
bases, taller coverage-driven tops, and billowed internal density instead of extruding one
2D weather shape through the entire layer
  • Reduced first-hit cloud extinction so the march reveals multiple illuminated density
layers; High and Ultra add a second long-range sunlight probe, while clear-sky bounce and
an inexpensive multiple-scattering floor keep shadowed daytime lobes blue-white rather
than charcoal without brightening storm clouds
  • Underwater sky rays now use solid depth behind the water surface to generate and merge
the same cloud layer seen above water; water extinction and the Snell window attenuate that
layer afterwards, so submerged views can no longer reveal a cloud-covered moon
  • The shared sun/moon visibility probe now multiplies terrain visibility by resolved cloud
transmittance, keeping celestial discs, halos, glare, and light shafts consistent
  • Rebuilt shooting stars as sub-second meteors with a compact warm head, narrow tapered
blue-white plasma trail, breakup flicker, and one shared life envelope; the old multi-second
moving glow segment and lingering-looking smear are gone
  • Stars, meteors, moonlight, and the lunar halo now use the smoothed weather state, preventing
celestial clarity from snapping ahead of cloud recovery after rain
  • Rain atmosphere now uses an Iris-smoothed weather state: storms close visibility quickly,
while fog, cloud cover, lighting, reflections, and sun glare recover gradually for twelve
seconds after rain instead of revealing the full DH landscape at once
  • Rain/DH fog is substantially denser at long range, matching the short visibility expected
from humid heavy weather while preserving nearby silhouettes
  • Added Natural and Vivid color grades alongside the legacy Classic response; Natural is the
new default and tone-maps luminance rather than RGB channels independently, preserving hue
through highlights
  • Natural grading applies restrained highlight/shadow chroma compression, gamut compression,
and weather-aware white balance; default saturation is now neutral rather than boosted
  • Cloud macro shaping no longer suppresses an enormous low-frequency region around the
camera column, removing the persistent clear crater seen when looking straight upward
  • DH water now rejects pixels covered by native opaque depth and fades in across the native
water range, preventing ocean bands from drawing across portals, terrain, and builds
  • Top-down DH water now matches native water's 2% normal-incidence Fresnel, body tint, and
transparency instead of becoming a bright, highly reflective sheet
  • Underwater extinction now follows the Water Murkiness setting for native and DH geometry;
suspended-particle haze closes long-distance visibility, and the water surface softly limits
the above-water scene to a physical Snell window instead of exposing the entire world
  • The defensive DH cave filter now rejects fully enclosed zero-skylight Overworld LOD faces
at any elevation, covering modded caves and incomplete world-generation columns
  • Sunrise atmospheric color is now confined around the sun instead of reflecting as a
straight neon horizon band; twilight cloud bodies stay neutral while their lit edges warm

### Capture-driven performance

  • Used an AMD RenderDoc counter capture to identify the full-resolution effect merge,
volumetric clouds, final output, atmosphere/water, and AO mask as the meaningful Solstice
post costs; the already inexpensive bloom and portal-blur passes were left unchanged
  • Reworked cloud reconstruction to use its existing alpha coverage instead of rereading
native and DH depth for every neighbouring half-resolution texel
  • The final effect merge now builds half-resolution coordinates once and shares native
depth samples between surface effects and light shafts, while underwater shafts continue
using the solid depth hierarchy
  • The merge reads the existing 1×1 celestial visibility result and skips all shaft-buffer
reconstruction when the light source is off-screen, fully occluded, or otherwise inactive
  • FXAA reuses the final pass's existing centre colour instead of sampling it twice at full
resolution
  • Volumetric cloud rays now hoist weather and lighting constants out of the density loop;
primary density remains evaluated at every step while the smoother solar-occlusion probe
is reused for one adjacent occupied step through the existing temporal reconstruction
  • The terrain path now reuses its vertex distance and per-fragment direct-light colour,
removing repeated length, celestial normalization, and weather-light calculations from
the indexed chunk draws highlighted by the capture

### Gameplay polish

  • Added Survival, Balanced, and Builder lighting styles as a visual preference independent
of Low/Medium/High/Ultra; the modes adjust night illumination, sky-light response, block
light falloff, held light, and interior indirect floors without changing daytime exposure
  • Renamed Night Darkness to Night Brightness so the slider direction is unambiguous
  • Added optional low-strength contrast-adaptive sharpening after FXAA, with neighborhood
clamping and flat-region rejection to restore texture clarity without strong sky noise or
edge halos; underwater sharpening is skipped

### Render paths and Minecraft 26.2

  • Added explicit lightweight programs for damaged blocks, block entities,
translucent block entities, beacons, items, particles, translucent particles, translucent
entities, lightning/dragon beams, armor glint, emissive eyes, and translucent held objects
in the Overworld, Nether, and End; lines deliberately use Iris's documented
gbuffers_line to gbuffers_basic fallback
  • Translucent entity and block-entity passes retain forward lighting but no longer write
opaque material/SSR records into colortex3
  • Added item.properties and separate main/off-hand light evaluation, allowing warm,
soul-blue, redstone-red, amethyst/end-purple, and plant-orange held-light colors
  • Replaced hardcoded cutout thresholds with Iris's alphaTestRef in terrain, entity, hand,
generic textured, lit textured, shadow, and special overlay paths
  • Enabled Iris's separated translucent entity/block-entity draws and mixed particle
ordering; beacon beams remain non-depth-writing so they cannot carve holes through fog
  • Expanded current content metadata for Spring to Life foliage, golden dandelions,
pale-garden plants and lights, trial spawners/vaults, copper bulbs, current emissive mobs,
and the Minecraft 26.2 sulfur/cinnabar building families
[1.4] Solstice 1.4 by d0mkaaa on Oct 13, 2026
Download
## v1.4

### Reduced-resolution post pipeline

  • Bloom moved from two full-resolution passes to quarter-resolution colortex1/2, with a
soft-knee threshold, firefly control, and a wider lower-intensity filter
  • Volumetric/blocky clouds, SSAO, and light shafts now render at half resolution
  • The final effect merge performs depth/class-aware reconstruction so cloud, AO, portal, and
shaft samples do not bleed across terrain silhouettes
  • Disabled effects now disable their composite programs, including dimension-specific paths

### Temporal skies and cloud lighting

  • Volumetric clouds use a frame-varying march offset and a persistent cloud-only history
  • History reprojects with the previous camera/model-view/projection data, clamps to the
current 3x3 neighborhood, and rejects large camera jumps or reactive cloud changes
  • Cloud direct light was rebalanced so the forward silver lining stays bright without
turning the entire cloud body white; bases retain stronger tonal separation
  • Full-scene TAA remains intentionally absent

### AO, shafts, and portal light

  • The repeated sun/moon visibility gather is now a single 1x1 frame-level pass
  • Light shafts moved to a half-resolution buffer
  • Full-resolution 16-tap portal gathers were replaced with a downsampled portal-light mask
and two inexpensive separable blur passes
  • SSAO moved from ten samples per full-resolution pixel to eight samples per half-resolution
pixel

### Reflections, shadows, and final image

  • SSR_QUALITY adds profile-controlled 16/24/40-step caps, matching refinement tiers,
tighter hit thickness, Fresnel gating, and distance/travel rejection
  • SHADOW_FILTER_QUALITY adds 4/8/12-tap PCSS tiers; blocker samples scale with the tier
  • The shadow vertex pass reuses the visible terrain foliage deformation in player space
  • The old four-neighbor edge blend was replaced with low-cost directional FXAA
  • The filmic curve has a softer highlight shoulder and a gated near-black lift that leaves
true black and genuinely dark caves anchored
[1.3] Solstice 1.3 by d0mkaaa on Oct 13, 2026
Download
## 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
[1.2] Solstice 1.2 by d0mkaaa on Oct 13, 2026
Download
# Solstice Changelog

## v1.2

### Wet weather

  • Rain puddles form on exposed ground while it rains and dry up gradually afterwards
  • Puddles form as larger connected pools rather than scattered specks, and grow with
rain intensity
  • Animated rain ripples on the puddle surface
  • Puddles reflect the sky, show a sun glint at grazing angles, and mirror nearby terrain
and builds through screen-space reflections when SSR is on
  • Wet ground darkens during rain
  • Puddle Coverage slider; Low profile turns puddles off

### Portals

  • Nether portals glow and cast purple light onto surrounding blocks
  • Toggle under Nether & End options; off in the Low profile

### Snow

  • Snow sparkles: crystal glints that catch the light and shift with your view angle,
on snow layers, snow blocks, powder snow and snowy grass
  • Snow gets a subtle cool brightening and no longer darkens or forms puddles when it
rains elsewhere in the world
  • Sparkle Strength slider under Visuals

### Fire

  • Fire and campfire flames flicker: emission pulses with layered waves plus noise, so
the bloom breathes like a real fire
  • Flame color grading: white-hot core fading to deep orange at the edges; soul fire
grades to cold blue-white
  • Fire blocks sway gently at the tips; campfire logs stay put, only the flame pixels
are affected
  • Lit campfires only - unlit ones no longer glow
  • Living Flames toggle under Visuals

### Glowing blocks

  • Light sources (glowstone, sea lanterns, shroomlight, froglights, lanterns, torches,
campfires, magma, crying obsidian and more) glow properly and feed the bloom pass
  • Ores, amethyst, sculk and enchanting tables get a subtler glint that shows in dark caves
  • Glow Strength slider; enabled on every profile since it costs almost nothing

### Night sky

  • Procedural milky way band on clear nights, scaled by Star Brightness
  • Shooting stars streak across the sky every few seconds
  • Green-blue aurora on clear nights in snowy and cold biomes, rolled per in-game day
(uses Iris biome temperature data)
  • All three have their own toggles under Sky & Clouds

### SSAO

  • Depth-based ambient occlusion: soft contact shading in corners and under blocks
  • 10 taps with dithered rotation, smooth occlusion falloff instead of hard cutoffs,
and a distance fade so far terrain stays clean
  • Strength slider; enabled on High and Ultra profiles

### Other

  • Light shafts now fade out as the sun or moon leaves the screen edge instead of
smearing across the corner of the view
  • Screen-space reflections use a dithered ray start and finer hit refinement, which
hides step banding on water and puddles
[1.1] Solstice 1.1 by d0mkaaa on Oct 13, 2026
Download
# Solstice Changelog

## v1.1

### Clouds

  • Rebuilt Blocky cloud mode as true 3D boxes: voxel-traced height, lit tops and shaded
sides, clouds cast shadows on each other
  • New Blocky Cloud Height slider
  • Added an About screen and more option tooltips
### Nether & End

  • Fixed the pack breaking outside the overworld. The dimension folders were incomplete,
so terrain, post-processing and final output never ran in the End. Every shader program
now runs in all three dimensions
  • End: darker violet lighting, aurora ribbons drifting across the sky, stars, and shadows
cast from the End's fixed light angle
  • Dragon death rays and explosion flashes are pushed into HDR so bloom makes them glow
  • Nether: biome-tinted fog that warms toward the lava below and darkens toward the
ceiling, a slow haze backdrop that matches the fog color at the horizon, a faint ember
glow, and heat shimmer over distant terrain (nearby blocks stay solid)
  • New Nether & End options screen: End Aurora toggle and strength slider, Nether Haze,
Heat Shimmer
### Lava

  • Lava surfaces now move: slow molten swells, heavier and slower than water waves, using
the shared Wave Strength slider
  • Lava is fully emissive with a traveling heat pulse that feeds the bloom pass
  • Works in every dimension. Toggle is under Water options as Lava Waves; the Low profile
turns it off along with water waves
### Fixes

  • Removed a duplicate fogColor declaration that stopped the water shader from compiling
on strict drivers
  • Nether backdrop no longer shows grey smears or a visible seam where distant terrain
meets the fog
[1.0] Solstice 1.0 by d0mkaaa on Oct 13, 2026
Download
# Solstice v1.0
A lightweight semi-realistic shader pack built for a high performance-to-quality ratio.
(developed and tuned on an RX 6600 at 1440p).

## Features
  • Real-time PCF shadows with per-pixel distortion (sharp near, cheap far, no warping on builds)
  • Colored translucent shadows: sunlight through water turns blue with animated caustics
  • Volumetric raymarched clouds with self-shadowing, silver linings, wind drift, and a high cirrus layer
  • Cloud shadows on terrain, matching the sky overhead
  • Screen-space god rays (sun/moon, above and below water) with source-occlusion checks
  • SSR water reflections - terrain, trees, and builds mirrored on water; depth-aware
  • (clear shallows, mirror depths) with sky-gradient fallback
  • Procedural fluid water: Gerstner-style traveling waves, sea-state variation, rain ripples
  • Unified atmospheric fog: fog is the sky gradient (aerial perspective), render-distance
  • fade dissolves into it seamlessly
  • Full weather system: bright diffuse overcast, dark slate thunderstorms, localized lightning
  • flashes that light the cloud deck from within, emissive lightning bolts
  • Procedural circular sun and phase-accurate circular moon
  • Dynamic held-item lighting (torch in hand lights the world)
  • Dark survival nights, warm Nether ambient (adjustable in-game)
  • HDR pipeline: bloom, ACES tonemapping, FXAA-lite edge smoothing, dithering

## Settings
Four profiles: **Low** / **Medium** / **High** / **Ultra** (shader options screen), plus four option
screens: Shadows, Sky & Clouds, Visuals, Color & Tone.
Notable sliders: Cloud Coverage, Cloud Speed, Nether/End Brightness, Fog Density.

## Requirements
Iris (bundled with Fabulously Optimized). OptiFine untested; Iris-exclusive uniforms
(thunderStrength, lightningBoltPosition, hasSkylight) degrade gracefully if absent.

## Performance notes
Shadows are the dominant cost, lower Shadow Resolution/Distance first. Clouds cost only on sky pixels (Cloud Quality slider). SSR costs only near water. Everything else is cheap.

## Authors
_d0mkaaa_
Solstice Icon
Download Solstice
Select game version
Select platform