Minecraft now ships a native Vulkan renderer alongside the OpenGL one. Every shader pack that exists was written for OpenGL, and none of them run on it.
Vitrail runs them anyway, unmodified. It reads an OptiFine-format pack out
of shaderpacks/, translates its GLSL once when the pack loads, and hands it to
the compiler the game already embeds. Nothing translates while a frame is drawn.
It started as a question, whether packs written for OpenGL over more than a decade could run untouched on the renderer that now ships with the game, and as one person's side project, worked on every day since July. Contributors have joined along the way, and it is still an early one: the backend it runs on is marked experimental by the game itself.
It is built the way a lot of software gets built now, and it would not exist otherwise: AI tools do most of the typing and the debugging, and a human decides what gets built, tests it against real packs and against Iris, and carries the blame for every bug. What was taken from Iris and from Kroppeb's stareval is credited file by file in the project's NOTICE, under the same licence. If any of that matters to you, now you know. If the mod is useful, there is a coffee link below, and the issues are where I answer.
Vitrail is the engine, not the pack, and it can ship none: the packs belong to their authors and their licences do not allow redistribution. These are the best known of the packs it draws.
Every other pack in the table of packs actually tried draws as well, and the table says how close each one comes to Iris. A pack absent from it is one I have not loaded, not one that is unsupported.
I. It opens the shader pack screen, R reads the
pack again from disk and K turns shaders off and back on. All three can
be rebound in the game's controls, under Vitrail.Client only, one jar for Fabric and NeoForge. Iris can stay installed beside it, on the Sodium version Iris asks for, which Vitrail runs on too: on Vulkan Vitrail draws, on OpenGL Iris does, and switching the backend in the video settings switches engines. The install guide has the rest.
If a pack or a mod does not work with Vitrail, please open an issue. A pack that draws wrong, a mod that clashes, a crash: every report helps, and if you want to take part, pull requests are very welcome.
Source, what goes through a pack today, the changelog and the full compatibility notes are all at Vitrail-Shaders. It is also on Modrinth.
LGPL-3.0-only. Parts of the pack loader and of the value catalogue are adapted from Iris, which is LGPL-3.0 as well, and the expression grammar is Kroppeb's stareval. What was taken and what was changed on the way is recorded file by file in the project's NOTICE.