# Aeon Realism
A realistic, cinematic shader pack for **Iris** — built around one rule:
**look expensive, run cheap.**
No path tracing. No full-resolution ray tracing. Every stochastic effect —
shadows, ambient occlusion, global illumination, reflections, volumetrics — is
deliberately under-sampled, dithered with a different pattern each frame, and
resolved by TAA. That is what lets the step counts stay low enough for a
GTX 1650 while the result still holds up in a screenshot.
---
## Lighting
- **Contact-hardening shadows (PCSS).** A blocker search sets the penumbra
width, then a Vogel-disk PCF whose radius follows it. The penumbra is derived
from a real angular light size, so shadows sharpen at the point of contact and
spread out with distance the way they actually do.
- **Coloured shadows** through stained glass and water.
- **Global illumination** — analytic sky and ground bounce weighted by the
surface normal, with an optional screen-space bounce on top.
- **Ambient occlusion** sharing its sample positions and depth fetch with GI, so
the second effect costs one extra tap rather than a whole new loop.
- **Subsurface scattering** — two lobes, so leaves glow when you look at a
canopy against the sun and never go black on their shaded side.
- Block light remapped from Minecraft's linear ramp to an inverse-square
falloff with a colour temperature. Held torches light the world.
## Sky and atmosphere
- Analytic single-scattering Rayleigh/Mie atmosphere with an ozone layer and a
proper Preetham air mass. No LUTs, no loops.
- Warm directional sunlight that shifts from amber at noon to deep orange at
sunset, and reaches exactly zero below the horizon.
- A large, warm moon with a real phase terminator, limb darkening and mare
detail — casting **cold** light, because that is how a dark-adapted eye reads
moonlight.
- Procedural stars, and a lens flare that only appears when you actually look
towards the sun.
## Clouds and volumetrics
- Raymarched volumetric clouds with a Beer-Powder light integral, rendered at
half resolution. A nearly free cirrus layer on top.
- **Volumetric light** at half or quarter resolution with temporal
reprojection. Extinction is computed analytically at full resolution instead,
which is what stops the low-res buffer producing halos along geometry edges.
- God rays through forest canopies, shafts in caves, glow around lava, and
beams under water.
## Water
- Analytic wave height field — normals come from finite differences of the same
function, so there is no normal-map fetch and no tangent-space round trip.
- Fresnel-driven transparency: see the bottom looking down, a mirror at a
grazing angle.
- Screen-space refraction, Beer-Lambert absorption measured from the real water
column depth, and caustics derived from the divergence of the wave gradient.
- Underwater: wavelength-dependent extinction, light shafts through the
surface, and a gentle screen refraction.
## Dimensions
- **Overworld** — soft height fog, ground mist at dawn and in rain, aerial
perspective on distant terrain.
- **Nether** — volumetric haze with a palette derived from the game's own fog
colour, so crimson, warped, soul sand valley and basalt deltas each get their
own mood instead of one flat red. A height gradient keeps the sense of depth
through the murk.
- **The End** — deep space sky, a procedural nebula built from two competing
pigments rather than a purple filter, three parallax star layers, and end
stone with a faint glow of its own.
## Resource pack materials
**LabPBR 1.3** is supported: normals, AO, smoothness, F0 / metal index,
porosity, subsurface scattering and emission. Where a resource pack does not
ship a map, the shader falls back to its own block-id heuristics — vanilla and
PBR resource packs coexist in the same world.
---
## Presets
| Preset | For |
|---|---|
| **Potato** | Maximum framerate. 512 shadows, no volumetrics, no clouds, no reflections. |
| **Low** | Steady 60+ on weak hardware. 1024 shadows, quarter-res volumetrics. |
| **Medium** | Recommended. 1536 shadows with PCSS, half-res volumetrics with temporal reprojection, volumetric clouds, SSR, caustics. |
| **High** | 2048 shadows, screen-space GI, long SSR rays. |
| **Ultra** | 3072 shadows, maximum sample counts everywhere. |
Around 90 individual settings behind those, grouped into fourteen screens, with
English and Russian translations.
---
## Requirements
- **Iris 1.7+**, Minecraft **1.21.x** (developed and tested on 1.21.10)
- OpenGL 3.3 core
- Not compatible with OptiFine — the pack uses Iris-specific features
(`RENDERTARGETS`, per-buffer blend control, dimension folders).
---
## Honest limitations
I would rather you know these up front than find them yourself.
- **The shadow "cascades" are analytic, not real cascades.** Iris gives one
shadow pass, therefore one projection. Instead of three real slices, the map
is distorted so texel density follows an inverse-distance curve, with bias and
filter width tuned separately for three zones. The texel distribution is close
to a three-slice CSM. It is not a CSM.
- **GI, AO and reflections are screen space.** What is not on screen does not
contribute. Reflections have a proper sky fallback; GI simply has no
off-screen term.
- **Local light scattering in the volumetrics is screen space too.** Lava you
can see glows into the haze; lava behind you does not.
- **No parallax occlusion mapping.** The LabPBR height channel is decoded and
ignored. POM needs a per-fragment march through a height map, which is exactly
the cost this pack exists to avoid.
- **TAA is not cosmetic here, it is the denoiser for the whole pipeline.**
Turning it off will make shadows, AO, GI, SSR and the volumetrics visibly
noisy. That is the trade the pack is built around.
---
## Русский
Реалистичный кинематографичный шейдерпак для **Iris**, собранный вокруг одного
правила: **выглядеть дорого, работать дёшево.**
Никакого path tracing и ray tracing в полном разрешении. Всё стохастическое —
тени, AO, глобальное освещение, отражения, волюметрика — намеренно
недосэмплировано, раздизерено разным паттерном каждый кадр и вычищается TAA.
Именно это позволяет держать низкие счётчики шагов на уровне GTX 1650.
Основное: контактные тени PCSS с настоящим угловым размером источника,
цветные тени сквозь витражи и воду, аналитическая атмосфера Рэлея-Ми,
тёплое солнце и холодная луна с фазовым терминатором, объёмные облака и
volumetric light в половинном разрешении с временной репроекцией, вода с
преломлением, поглощением и каустикой, отдельные настроения для биомов Незера
и процедурное небо Энда. Поддержан LabPBR 1.3.
Пять пресетов от Potato до Ultra, около 90 настроек на четырнадцати экранах,
интерфейс на русском и английском.
**Требуется Iris 1.7+, Minecraft 1.21.x. С OptiFine несовместим.**
Ограничения честно перечислены в английской секции выше — если коротко:
каскады теней аналитические, а не настоящие; GI, AO и отражения экранные;
POM нет; без TAA будет шумно.
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" }