VodiumСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (15)
release
Vodium 0.8.6+1.21.1
0.8.6+1.21.112 окт. 2026 г.68Minecraft: 1.21.1fabric
Что нового
# 0.8.6 Port to 1.21.1
! **Not full port** !, but work-started port. Only some optimizations were ported.
[Thanks to xbxct's report-ticket!](https://t.me/c/3900677792/5)
release
Vodium 0.8.6+1.20.4
0.8.6+1.20.410 окт. 2026 г.48Minecraft: 1.20.4fabric
Что нового
# Back to optimizations
Fairly, I most time uploaded only "Graphidium" (Graphics-improvement) updates, so, now, mostly waited comeback of original Vodium optimization path! This is AI & shader-system improvement update
alpha
Vodium 0.8.5+1.20.4
0.8.5+1.20.419 сент. 2026 г.53Minecraft: 1.20.4fabric
Что нового
Fixes terrain rendering as a mosaic of the block atlas.
The texture coordinate mode is baked into the shader pack when it is compiled. Switching ULTRA REALISM on while a pack was already loaded rebuilt only the chunks, so the new tile coordinates were fed to a program compiled for plain atlas coordinates. The pack is now rebuilt together with the chunks.
alpha
Vodium 0.8.4+1.20.4
0.8.4+1.20.419 сент. 2026 г.18Minecraft: 1.20.4fabric
Что нового
Anniversary release for the first 150+ downloads.
This is a separate branch, so the main mod will not receive realism of this kind.
beta
Vodium 0.6.8+1.20.1
0.6.8+1.20.118 сент. 2026 г.66Minecraft: 1.20.1fabric
Что нового
Surface maps now follow the labPBR standard, so any labPBR resource pack works with Vodium out of the box. Verified against SPBR.
- Normal mapping. Both `_s` (material) and `_n` (normal) maps are stitched into atlases matching the vanilla block atlas texel for texel. The chunk vertex format carries no tangent, so the tangent basis is derived from screen-space derivatives of position and texture coordinate, which works on stairs and custom models rather than only on full cubes.
- labPBR channel layout: R smoothness, G dielectric F0 or metal index (the eight named metals plus albedo-as-F0), B porosity and subsurface scattering, A emission where 255 means none. A missing map still reads as matte, non-reflective and non-emissive.
- Metals actually look like metal. Diffuse light is suppressed on them and they reflect the sky, instead of being a flat square with a single white dot from the sun. Highlight intensity is normalised by sharpness, so polished iron catches the sun the way it should.
- New Vivid settings: metal reflection strength, normal map strength, green channel sign, and occlusion from the normal map.
- The bundled "Vodium Surface Maps" pack was rebuilt in labPBR and now ships normal maps for the iron, gold and diamond blocks.
Known limitation: the tangent basis comes from screen-space derivatives, which jump across sprite boundaries inside the atlas, so a single line of pixels along a face edge gets a wrong basis.
beta
Vodium 0.7.9+1.20.4
0.7.9+1.20.418 сент. 2026 г.25Minecraft: 1.20.4fabric
Что нового
Surface maps now follow the labPBR standard, so any labPBR resource pack works with Vodium out of the box. Verified against SPBR.
- Normal mapping. Both `_s` (material) and `_n` (normal) maps are stitched into atlases matching the vanilla block atlas texel for texel. The chunk vertex format carries no tangent, so the tangent basis is derived from screen-space derivatives of position and texture coordinate, which works on stairs and custom models rather than only on full cubes.
- labPBR channel layout: R smoothness, G dielectric F0 or metal index (the eight named metals plus albedo-as-F0), B porosity and subsurface scattering, A emission where 255 means none. A missing map still reads as matte, non-reflective and non-emissive.
- Metals actually look like metal. Diffuse light is suppressed on them and they reflect the sky, instead of being a flat square with a single white dot from the sun. Highlight intensity is normalised by sharpness, so polished iron catches the sun the way it should.
- New Vivid settings: metal reflection strength, normal map strength, green channel sign, and occlusion from the normal map.
- The bundled "Vodium Surface Maps" pack was rebuilt in labPBR and now ships normal maps for the iron, gold and diamond blocks.
Known limitation: the tangent basis comes from screen-space derivatives, which jump across sprite boundaries inside the atlas, so a single line of pixels along a face edge gets a wrong basis.
beta
Vodium 0.6.6+1.20.1
0.6.6+1.20.117 сент. 2026 г.6Minecraft: 1.20.1fabric
Что нового
# 0.6.6 — 1.20.1 catches up
Everything from the 1.20.4 line lands here: Vibrant Graphics, the rebuilt shader system, surface maps from resource packs, and the two bundled packs.
## Vibrant Graphics
Water effects as real particles — rain rings, splashes, shoreline foam, a wake when you wade through shallows, and spray at the foot of waterfalls. One setting under Video Settings — Vodium: **Off / Low / Medium / High / Max**. Works with or without a shaderpack.
A particle lives in the world: you see it from any angle, it is lit like everything else, and it does not vanish when you turn the camera. A shader can only tint pixels already on screen, and it cannot know what block sits next to the water — shoreline foam is exactly that kind of knowledge.
## Shader packs are directories now
`terrain.fsh` is still the only required file, but next to it go `terrain.vsh` for the vertex stage, `composite1.fsh`..`composite8.fsh` and `final.fsh` for a full-screen chain, and any `.glsl` files pulled in with `#include`. Single-file packs keep working — `standard` and the rest are untouched.
Pack settings declared as `#define NAME value // [a b c] Label` become buttons in the interface, in the syntax Iris and OptiFine authors already know. Passes talk through `colortex0`..`colortex5`, can run at half resolution with `/* SCALE: 0.5 */`, and get the world state under the names Iris packs use: camera, matrices for this frame and the previous one, sun and moon, weather, potion effects.
Two packs ship with the mod and appear in `shaderpacks/` on first launch:
- **Realism** — water with waves and Fresnel, volumetric clouds, light coloured by time of day, bloom and film tonemapping.
- **Vivid** — vanilla-styled: Blinn-Phong lighting, contour SSAO kept deliberately subtle, screen-space GI, sun shafts.
## Surface maps
A resource pack can drop an `_s` file next to a block texture: **R** smoothness, **G** metalness, **A** emission. Vodium stitches them into an atlas mirroring the vanilla one texel for texel. The layout is Vodium's own, not labPBR — a missing map is honest zeros rather than full emission.
## Notes
The port needed exactly one code change: `Screen.renderBackground` takes only the context on 1.20.1. Everything that could have diverged did not — the private sprite atlas layout, the rotation order in `renderSky` that the sun position depends on, the `FALLING` fluid property, the `renderClouds` signature.
Verified by launching the game: the Vivid pack builds into six passes, Vibrant Graphics connects, and the specular atlas stitches across 1577 sprites.
beta
Vodium 0.7.7+1.20.4
0.7.7+1.20.417 сент. 2026 г.38Minecraft: 1.20.4fabric
Что нового
# 0.7.7 — Vibrant Graphics
Water effects as real particles, surface maps from resource packs, and a sun that is finally where vanilla draws it.
## Vibrant Graphics
Rain rings on water, splashes, foam along the shoreline, a wake when you wade through shallows, and spray at the foot of waterfalls. One setting under Video Settings — Vodium: **Off / Low / Medium / High / Max**, controlling radius and density. It works with or without a shaderpack.
These are particles, not a shader trick, and the difference is not cosmetic. A particle lives in the world: you see it from any angle, it is lit like everything else, and it does not vanish the moment you turn the camera. A shader can only tint pixels that are already on screen — and it cannot know what block sits next to the water, because the chunk vertex format carries no block id. Shoreline foam is exactly that kind of knowledge.
The volume is never scanned in full. A 40-block radius is over half a million positions per tick; instead a few dozen random points are probed, which looks continuous within a second and costs the same at any radius. Waterfalls get their own three-dimensional probe: the height map finds a lake surface in one lookup, but a waterfall is a jet inside the column, and the height map knows nothing about it.
## Surface maps from resource packs
A resource pack can drop an `_s` file next to a block texture: **R** smoothness, **G** metalness, **A** emission. Vodium stitches them into an atlas that mirrors the vanilla one texel for texel, so the shader reads them with the same `texCoord0`.
The channel layout is Vodium's own, not labPBR: there, alpha 255 means "no emission", so a missing file and full emission encode identically. Here a missing map is honest zeros — matte, non-metal, non-emissive. labPBR packs will not work as-is.
A ready example ships in the repository: maps for iron, gold and diamond blocks, built from the vanilla textures themselves, so the highlight follows the block's own pattern instead of sitting on top as a flat patch. Diamond is deliberately not marked metallic — it is not a metal, and its highlight should be white.
## Fixes
**The sun was computed in the wrong place.** The angle was linear in world time, the X sign was inverted, and there was an invented 0.30 tilt on Z. Light shafts came out of empty sky and shadows fell from a sun that was not there — which reads as the sun simply not being drawn. Vodium now derives the direction the same way vanilla builds the sky, through `getSkyAngle`, which also knows that the Nether has no sun at all.
**Depth in post-processing was filtered linearly.** That averages depths across a silhouette, and the position reconstructed from it lands in the void between two surfaces: everything depth-based picked up a fringe of non-existent points around object outlines.
## Also
`depthtex1` — scene depth before the translucent pass, giving packs the thickness of water in front of geometry. A white-point Reinhard tonemap, because plain Reinhard maps 1.0 to 0.5 and drains the frame at any exposure. Half-resolution passes via `/* SCALE: 0.5 */`.
1.20.4 only — the 1.20.1 branch does not carry the shader work yet.
beta
Vodium 0.7.0+1.20.4
0.7.0+1.20.412 сент. 2026 г.27Minecraft: 1.20.4fabric
Что нового
# 0.7.0 — the shader system, rebuilt
A shaderpack used to be a single file with a single function. That ceiling is gone.
## Packs are now directories
`terrain.fsh` is still the only required file, but next to it you can put `terrain.vsh` for the vertex stage, `composite1.fsh` through `composite8.fsh` plus `final.fsh` for your own full-screen chain, and any number of `.glsl` files pulled in with `#include`. Single-file packs keep working exactly as before.
## Pack settings
A line like `#define SHADOW_SOFTNESS 1.5 // [0.5 1.0 1.5 2.5] Shadow softness` becomes a button under Video Settings — Vodium — Pack settings. The syntax is the one Iris and OptiFine authors already know, and values are stored per pack in `config/vodium-shaders.properties`. Changing one rebuilds the pack, because these are real macros — a feature you switched off costs nothing at all.
## Vertex stage
`vodium_vertex_offset(worldPos, normal)` returns a displacement, which is what waving grass, leaves and water are made of. It is a displacement and not the whole vertex stage on purpose: chunk positions are already rebased to the region corner, and a mistake there would break geometry and chunk loading rather than colour. The offset is clamped to one metre — a vertex leaving its own section gets culled, and that reads as a flickering hole.
## Buffers between passes
Passes talk to each other through `colortex0`..`colortex5` in RGBA16F. Every buffer is double, so reading and writing the same `colortex` in one pass is fine. Without this there is no bloom, no volumetrics and no temporal anything. A pass can also declare `/* SCALE: 0.5 */` and run at quarter the pixel count — blur is blurry by definition and a full-screen pass is mostly memory bandwidth.
## World state
Camera, matrices for this frame and the previous one, sun and moon, weather, potion effects, light at the eye, moon phase — under the names Iris packs already use, so code moves across without renaming. Plus a noise texture and a helper library: waves, soft shadows, procedural ripples, ACES, GGX, reprojection.
## The Realism pack ships with the mod
Water with waves, Fresnel and sun glint; volumetric clouds marched through the layer; light coloured by time of day; wet surfaces in the rain; bloom and film tonemapping. 24 settings. It appears in your `shaderpacks/` folder on first launch after updating.
It is also the worked example of what this API is for, written with an eye on cost: three of its four passes run at half resolution, transparent pixels are discarded before any lighting is computed, and the shadow map is not sampled at all for faces turned away from the light.
## Fixes
**Stretched geometry with shadows on.** The shadow pass drew the translucent layer too and bound the shared index buffer into its VAO, destroying the binding the main pass had put there and cached. Water was then drawn with someone else's indices — arbitrary vertices, spikes across the map. Water and glass no longer cast shadows, which is also correct on its own.
**Shadows that would not sit still.** The shadow map now snaps to its texel grid instead of sliding with the camera, uses the moon below the horizon instead of building itself from underground, and picks regions by distance rather than by what the camera happens to be looking at.
**Undefined texture sampling in the vertex stage** (`texture` with implicit LOD, which has no derivatives there) and a guard against non-finite vertex offsets.
Only 1.20.4 for now — the 1.20.1 branch does not carry the shader work yet.
beta
Vodium 0.5.3+1.20.1
0.5.3+1.20.112 сент. 2026 г.15Minecraft: 1.20.1fabric
Что нового
# 0.5.3 — five new optimizations, 1.20.1 line
The same five that landed in 0.6.5 for 1.20.4, ported to 1.20.1. The vanilla methods involved turned out to be identical between the two versions, so nothing had to be reworked.
**Particle culling.** Vanilla never frustum-checks particles: `renderParticles` walks every live particle in the world and builds geometry for each of them, including the ones behind your back. Only *rendering* is skipped here — ticking is untouched, so particles do not freeze off-screen and then pop in when you turn around.
**Merged draws inside a region batch.** For QUADS the shared index buffer simply walks quads in order while `baseVertex` shifts the start, so two sections that sit back-to-back in the arena can be drawn by one sub-draw with the sum of their index counts. A freshly built region collapses from up to 64 sub-draws down to a handful. The translucent layer is deliberately left out: it has its own per-section sorted indices and a strict back-to-front order.
**Translucent re-sort distance limit (128 blocks).** Vanilla re-sorts translucent faces every time the camera moves one block. A hundred blocks away that rotates a section by a fraction of a degree and the sort gives back the very same order. Distant sections now keep the order they got when they were built, and vanilla's budget of 15 sort tasks goes to the near ones, where it matters.
**Index buffer bound once per arena.** The element-array binding is part of VAO state, and the shared sequential buffer keeps its id when it grows — so rebinding it for every region in every frame was pure waste.
**Fog culling — off by default.** Past `FogEnd` vanilla's linear fog returns plain fog colour, so a region that drowned in fog need not be drawn at all. It stays off until it is checked by eye in the Nether and underwater: the sky is drawn before terrain, in its own pass with its own fog, and what shows through culled geometry is not guaranteed to match.
Every one of the five has its own switch in `config/vodium.properties`. **None of them is measured yet** — they are reasoned from how vanilla works, not from a benchmark, which is why this is a beta.
beta
Vodium 0.6.5+1.20.4
0.6.5+1.20.412 сент. 2026 г.40Minecraft: 1.20.4fabric
Что нового
# 0.6.5 — five new optimizations
**Particle culling.** Vanilla never frustum-checks particles: `renderParticles` walks every live particle in the world and builds geometry for each of them, including the ones behind your back. Only *rendering* is skipped here — ticking is untouched, so particles do not freeze off-screen and then pop in when you turn around.
**Merged draws inside a region batch.** For QUADS the shared index buffer simply walks quads in order while `baseVertex` shifts the start, so two sections that sit back-to-back in the arena can be drawn by one sub-draw with the sum of their index counts. A freshly built region collapses from up to 64 sub-draws down to a handful. The translucent layer is deliberately left out: it has its own per-section sorted indices and a strict back-to-front order.
**Translucent re-sort distance limit (128 blocks).** Vanilla re-sorts translucent faces every time the camera moves one block. A hundred blocks away that rotates a section by a fraction of a degree and the sort gives back the very same order. Distant sections now keep the order they got when they were built, and vanilla's budget of 15 sort tasks goes to the near ones, where it matters.
**Index buffer bound once per arena.** The element-array binding is part of VAO state, and the shared sequential buffer keeps its id when it grows — so rebinding it for every region in every frame was pure waste.
**Fog culling — off by default.** Past `FogEnd` vanilla's linear fog returns plain fog colour, so a region that drowned in fog need not be drawn at all. It stays off until it is checked by eye in the Nether and underwater: the sky is drawn before terrain, in its own pass with its own fog, and what shows through culled geometry is not guaranteed to match.
Every one of the five has its own switch in `config/vodium.properties`. **None of them is measured yet** — they are reasoned from how vanilla works, not from a benchmark, which is why this is a beta.
release
Vodium 0.5.2+1.20.1
0.5.2+1.20.115 авг. 2026 г.139Minecraft: 1.20.1fabric
Что нового
# Port for 1.20.1 ! :)
I ported 0.5.7 for 1.20.1 finally. Some (and unnecessary for most people) stuff from 0.5.7 unported - that's /vodium recprofile command. So 0.5.7 ~= 0.5.2
*0.5.2 from version is counting by commits in inner work-repo, so some unported commits downgraded version here.
release
Vodium 0.5.7+1.20.4
0.5.7+1.20.414 авг. 2026 г.43Minecraft: 1.20.4fabric
Что нового
# 0.5.7 : Small update in code, big in performance
Now batching even water & glass rendering - from 2.15x-2.3x on basic scenes like a forest with lakes went to 3-4x.
**I'm currently only working on 1.20.1 port, so currently only for 1.20.4**
beta
Vodium 0.4.3 - 1.20.4 port
0.4.3+1.20.414 авг. 2026 г.43Minecraft: 1.20.4fabric
Что нового
# Small beta release :)
Ported v0.4.3 to 1.20.4, nothing new from features.
beta
Vodium 0.4.3 Beta (1.20.1)
0.4.3-12130 июл. 2026 г.27Minecraft: 1.20.1fabric
Что нового
# **Release**
That's **first publicly available** release of Vodium 🎉! Currently it's only for 1.20.1
# **What it doing for optimization**
1. Region terrain-rendering
2. Mipmaps (texture-LODs, some better than vanilla's mipmapping)
3. Small render&chunk optimizations (like optimized noise functions, entity-culling)
4. Own simple shader system.