NeoLux
Warm, low sunlight against quiet shade, soft volumetric clouds and dark water that mirrors the shore. A deferred shaderpack for Iris that goes for a calm, cinematic look rather than a long list of effects.
What makes a shaderpack look good is mostly the light, not the effect list. NeoLux runs the overworld on a palette of its own that follows the height of the sun. At noon the dome is a deep blue over a pale horizon. Towards evening the light turns warm and low, spreads out around the sun, and the rest of the sky goes grey and still.
The sun is strong and the shade is weak, and the shade loses part of its color. A sunlit wall and its shaded side read as two different things instead of the same surface in a bluer tint, and a field of flowers keeps its color where the sun actually hits it.
The vanilla sky colors cannot carry that. The fog color Minecraft reports even turns with the direction the camera faces, so the whole sky changes tint whenever you turn around. The Nether and the End keep the vanilla driven colors, since a sun palette means nothing there.
Installation
- Install Iris.
- Drop the NeoLux zip into
.minecraft/shaderpacks/. - In game: Options -> Video Settings -> Shader Packs -> NeoLux.
No resource pack, no mod, no config file to edit. Everything is in the shader options screen.
What is in it
| Area | Implementation |
|---|---|
| Light | Sun and sky light follow the height of the sun, warm at golden hour, block faces shaded by orientation |
| Sky | Deep blue dome, pale horizon, warm scattering around a low sun, procedural stars |
| Clouds | Procedural volumetric layer lit towards the sun, bright at the rim and darker in the core, mirrored by water |
| Shadows | Distorted shadow map, hardware filtered samples on a rotated ring, tinted by stained glass and water |
| Plants | Lit like the ground they grow out of, light wraps around them and shines through against the sun, wind moves them |
| Water | Dark and mirroring, screen space reflections with sky and clouds behind them, ripples, refraction, caustics |
| Ambient occlusion | Screen space, golden angle sampling, 4 to 24 taps |
| Light shafts | Volumetric light marched through the shadow map, 6 to 40 steps |
| Fog | Aerial haze that barely touches the first hundred blocks on a clear day, thicker at night and in rain |
| Weather | Rain darkens open ground and gives it a sun glint and a mirrored sky |
| Post | Soft glow bloom, five tonemap curves, lens flare, grading, vignette, grain |
Quality profiles
The profile button sits at the top of the options screen. Six steps, from a machine that should not be running shaders at all to one that has cycles to burn.
| Profile | Shadow map | Filter | AO taps | Light shafts | Reflection steps | Wave octaves | Cloud steps |
|---|---|---|---|---|---|---|---|
| Potato | off | - | off | off | off | off | 4 |
| Low | 1024 / 96 blocks | 1 | 4 | off | off | 1 | 6 |
| Medium | 2048 / 128 blocks | 2 | 8 | 10 | 16 | 2 | 8 |
| High | 2048 / 160 blocks | 2 | 12 | 14 | 22 | 3 | 10 |
| Ultra | 3072 / 224 blocks | 3 | 16 | 20 | 30 | 4 | 14 |
| Extreme | 4096 / 320 blocks | 4 | 24 | 40 | 56 | 4 | 20 |
Each profile writes the complete set of performance relevant options, not just the ones it changes. Switching from Extreme down to Low leaves nothing expensive behind, which is the usual way profile buttons quietly lie to you.
Color, fog and exposure are deliberately left out of the profiles. Those are taste, not performance, and a profile switch should not undo an evening of grading.
Options
81 of them, across nine pages, in English and German.
Shadows: resolution, distance, filter rings, softness, bias, tint strength, sun path rotation.
Lighting: sunlight, ambient, block light and night brightness scale separately, so you can have dark nights without dark caves. Plus torch warmth, minimum ambient, sky light falloff, how much color the shade loses, occlusion strength, radius and sample count, and light shaft strength and quality.
Sky: brightness, sun and moon brightness, the glow around the sun, and stars with their own brightness and density.
Clouds: NeoLux, vanilla or none. Cover, height, thickness, quality, speed, brightness, and whether water reflects them.
Fog: density, an onset distance that keeps the near field clear, haze strength and height, and underwater visibility.
Water: reflection range and sharpness as separate controls, refraction, blur and caustics, wave height and detail, opacity, absorption, and the sun glint.
World and geometry: waving plants and leaves, wind speed, wet surfaces in rain, alpha cutout, and the width and strength of the block selection outline.
Post processing: five tonemap curves (none, ACES, Reinhard, Uncharted 2, Soft), exposure, bloom with strength, threshold, radius and level count, sharpening, vignette, and lens flare.
Color and style: saturation, vibrance, contrast, color temperature, film grain, chromatic aberration.
Requirements
- Iris on Minecraft 1.17 or newer. Developed and tested on Minecraft 26.3 with Iris 1.11.
- A GPU that can do GLSL 1.20 with framebuffer objects, which in practice means anything from the last decade.
OptiFine is no longer supported from 1.1.0 on. The sky and the light tell the overworld apart from the other dimensions through a uniform only Iris provides, and without it everything falls back to the vanilla colors.
1.17 is the floor because the block selection outline is drawn as widened line quads, a technique that only exists from that version on.
A note on the source
The shader is plain GLSL 1.20 with no external includes and no textures of its own: the clouds and the water surface are procedural. If you want to read how something works, the passes are named after what they do and the buffer layout is documented at the top of lib/common.glsl. The source is on Codeberg.
Licensed GPL-3.0. Fork it, take the parts you like, keep it open.
All Versions
+ Add Versionraindrop rings when it rains, clouds you can fly into and over, and enchanted
items that shimmer instead of turning into a purple sheet.
### Added
- Puddles: while it rains, water gathers in patches on open ground that faces
rain goes on and dry up after it.
PUDDLES and PUDDLE_AMOUNT on the Worldpage.
- Raindrops ring standing water and puddles while it rains,
RAIN_RIPPLESon
- Clouds sit at a fixed height in the world now, from Y=192 by default, and
they cover the ground below.
CLOUD_HEIGHT is a world height now ratherthan the distance above the player.
- Enchanted items, armor and dropped items have a program of their own for
WATER_ROUGHNESSon the Water page sets how choppy the surface is.
### Changed
- The water surface is built from three layers of noise instead of sine
with distance, and the far sea turns into a calm mirror.
- New water defaults: a calmer surface (roughness 0.25), higher waves, a
sliders reach further than these defaults in both directions.
- Underwater the view stays clear up close and turns deep blue with distance
starts six blocks away instead of at arm's length.
- Surfaces only get wet in biomes where it rains, not where it snows or
- Cloud tops are brighter, so a cloud deck seen from above is white in the
### Fixed
- Black holes in the troughs of the waves. A steep wave mirrored the ground
to the sea bed.
- Speckled reflections on open water further than a few dozen blocks away,
- Enchanted items were covered by a flat purple sheet and lost their own
### Fixed
- Sign text was invisible. Iris draws it with
gbuffers_block_translucent,
geometry buffers, after the lighting had already run. The pack ships that
program now and lights the text itself.
- The cracks on a block being mined did not show. They were multiplied into
finished color as well now.
- Dropped stained glass and translucent items in the hand found themselves in
They take shadow from opaque blocks only.
light from a torch in the hand, and an end to the black rims that ran along
every edge against the sky.
### Added
- Light from the hand: a torch, lantern or any other light source held in
the same block placed there. Faces turned away from the player get less of
it.
HAND_LIGHT on the Lighting page; turn it off when a dynamic lights moddoes the same.
- FXAA on the tonemapped image,
FXAAon the Post Processing page. On in
- Lightning has a program of its own and glows. It used to fall back to the
- The darkness a warden spreads dims every light and closes the view in to
### Changed
- Clouds read their value noise from the noise texture instead of hashing it,
takes 0.8 instead of 3.4 ms. The shapes are the same kind, in other places.
- The shadow filter looks at the centre and the outermost ring first and stops
only where they can matter. With colored shadows that is 1.8 to 2.4 times
faster for filter 2 to 4. The light shafts skip the same lookups.
- Shadows keep their full strength over most of the shadow distance and fade
which left a shadow 80 blocks away at half strength.
- Water looks its shadow up once for the diffuse light and the sun glint.
- Tonemapping and grading moved from
finaltocomposite3.final
its neighbours.
- Particles take the same block light falloff as the surfaces around them.
- With shadows and light shafts both off, the shadow pass is not rendered.
### Fixed
- Sharpening put a black rim on the dark side of every edge against the
moved.
- The star field was under twenty horizontal dashes near the horizon and
of them, and they turn with the sky.
- Sugar cane, kelp, vines and the other stacked or hanging plants tore apart
and vines on a wall sway along it instead of into it. The upper half of a
tall plant starts with the swing its lower half ends with.
- The lens flare shone through clouds.
- Powder snow fog was olive green.
- Entity faces jumped from lit to dark as they turned past the light.
- Banding in the dark night sky and in dusk gradients: the output is
- Twelve options showed their raw names in the menu: the whole cloud page,
showed as "4". The English file also has the comments the German one
already had.
with a palette of its own, soft volumetric clouds and dark, mirroring water.
### Added
- Procedural volumetric clouds in place of the vanilla ones: a layer above the
the puffs have a bright rim and a darker core. They show in water
reflections too.
CLOUD_STYLE switches between NeoLux, vanilla and none;the new Clouds page has cover, height, thickness, quality, speed and
brightness.
- A soft tonemap (
TONEMAP4, the new default): linear through the midtones
- Lens flare along the line from the sun through the middle of the screen.
LENS_FLARE on the Post Processing page.SHADE_DESATURATION: surfaces lit only by the sky lose part of their color
MOON_BRIGHTNESS, separate from the sun.- Water gets fine ripples on top of the swell, which breaks up the reflection
### Changed
- The overworld sky, sunlight and ambient light run on their own palette that
vanilla fog color turns with the direction the camera faces, which tinted the
whole sky differently whenever the player turned. The Nether and the End keep
the vanilla driven colors.
- Sunlight is stronger and ambient light weaker, and block faces are shaded by
- Fog is an aerial haze now: barely any on a clear day within the first hundred
- Bloom trades part of each pixel for its blurred copy instead of being added
soft glow around bright surfaces; it no longer brightens the whole frame.
- Water is darker, drops the vanilla texture pattern and takes only the biome
- The sun is bright enough to burn out and feed the bloom, tinted warm when it
- Shadow lookups are compared and filtered in hardware, so shadow edges ramp
- Defaults:
EXPOSURE1.00,SATURATION1.00,CONTRAST1.00,
VIGNETTE_STRENGTH 0.35, SKY_BRIGHTNESS 1.00, SUN_BRIGHTNESS 8.00.### Fixed
- The sun lit caves beyond the shadow distance: past the shadow map the lookup
- Half of every flower and grass tuft went black. A plant is two crossed quads
along that back facing normal, away from the light and into the shade of the
plant itself. Plants are now lit as if they faced straight up, like the
ground they grow out of, take no normal offset in the shadow lookup but a
depth bias and a softer filter, and let light wrap around and shine through
them against the sun. Leaves have a material of their own and let more
light through than grass does.
- Flowers threw square shadows. The shadow map sees a plant quad at a slant
of the flower had averaged out into a solid square. The shadow pass reads
the base level now and drops texels below the same cutout as the main pass.
- Newer plants were lit like stone blocks: bushes, firefly bushes, dry grass,
the wind now, mushrooms, fungi and azaleas are lit as foliage.
- Menu names were missing for
WATER_REFRACTION,WATER_BLUR,CAUSTICSand
WETNESS.- Added**
- Six quality profiles from Potato to Extreme, each writing the complete set of performance relevant options so nothing is carried over from the previous one.
- 63 options across eight pages, localised in English and German: shadows, lighting, sky, fog, water, world and geometry, post processing, and color grading.
- Four tonemap curves (none, ACES, Reinhard, Uncharted 2), vibrance, color temperature, film grain and chromatic aberration.
- Dedicated programs for entities, hand, block entities, block damage and selection outlines.
- Notes**
- Requires Minecraft 1.17 or newer. The block selection outline is drawn as widened line quads, which only exists from that version on.