promotional bannermobile promotional banner

Vitrail Shaders

OptiFine-format shader packs, on Minecraft's native Vulkan renderer
Back to Files

v0.7.0-beta (Neo/Fabric)

File namevitrail-0.7.0-beta+mc26.2.jar
Uploader
avpbynfavpbynf
Uploaded
Aug 20, 2026
Downloads
5
Size
1.2 MB
Mod Loaders
FabricNeoForge
File ID
8694191
Type
B
Beta
Supported game versions
  • 26.2

Curse Maven Snippet

Fabric

modImplementation "curse.maven:vitrail-shaders-1649385:8694191"

NeoForge

implementation "curse.maven:vitrail-shaders-1649385:8694191"

Learn more about Curse Maven

What's new

Changed

  • Distant Horizons no longer draws its own ambient occlusion and fog while a pack is drawn. Between them they are three full screen passes over an image nothing downstream reads, so their work was thrown away one pass later, and two of the three ran over the whole screen rather than leaving it early. Both are on unless the DH menu says otherwise, so an install that changed nothing was paying for them on every frame. They go back to whatever that menu says the moment a pack is unloaded.

  • Three things taken on every frame are now taken when something reads them. The search for a lightning bolt walked every entity the world would draw, on every frame, to find the one kind of entity that is almost never there; it runs once a tick now, which is the rate the reference publishes that value at. The count of what the camera saw was taken on every frame for a line printed once per pack. And the pack's number for an item was spelt out again at every submission, where the number for a kind of entity had been remembered since it was written.

Fixed

  • Turning the shaders off and back on, or picking another pack, takes the game down far less often. Two rings the far terrain writes its section corners into were closed the moment a pack was unloaded, while a pass already recorded still held slices of them, and the graphics device was lost a few seconds later with nothing in the log to say why. They belong to the engine now rather than to the pack, so a load has nothing to close. It is not the whole of that crash: a second fault of the same family survives it, and where the pack could not be put back once before, it now takes somewhere between one and four goes. Issue 111 follows what is left, and until it is closed a pack changed in game remains a thing that can end the session.

  • The same pack now translates to the same text on every start. Four tables the translator walks to write a shader were handed back in an order the runtime picks afresh each time the game starts: the varyings a stage is owed, the vertex inputs a mesh has not got, and the volume helpers a pack's three dimensional textures need. Two launches on the same pack could therefore produce shaders that differ only in the order of their declarations, which is the same shader to a reader and a different one to the game, so it compiled pipelines it already had. One warning line about mesh elements a program computes from and does not get also listed its names in a different order each run.

  • One character no editor should have written no longer costs the player every pack. vitrail/options.txt was read as strict UTF-8, so a single byte from another encoding stopped ANY pack from loading, under a message that named neither the file nor the encoding. A byte order mark, which several editors add on their own, threw nothing and quietly ate the first setting of the file. Both now cost one character of one value at worst, and vitrail/pack.txt is read that way too. That file is also written through a temporary and moved into place, so a crash while it is being written can no longer leave half a line behind, which read as no pack chosen at all.

  • The shadow distance now bounds every chunk it is meant to, and not only the ones weighed one by one. A group of chunks that merely reached into the distance was handed to the walk whole, so everything standing under that group was drawn into the shadow map however far past the distance it stood. Lowering the distance, from the pack or from the video settings, therefore saved less than it should have, on the second walk of the world, which is the most expensive thing a frame does here.

This mod has no additional files