Vanilla Shader
## Hello everyone!
I’m excited to share my **Vanilla Shader Project** with you all. I’m still a beginner in the world of programming, but it’s been an incredible journey learning how this works and seeing the results of many hours spent in front of the screen.

I’ve just released **Version 2 (V2)**. While it was technically “ready,” I felt it needed some extra polishing (and it still does!). Please keep in mind that there are still plenty of bugs, but I’m committed to fixing them as I learn.
> **Note:** Currently, it does not support Sodium, but I’m working hard to make that happen soon!
### 🟢 What’s New in V2
* **Toon/Retro Lighting:** Light sources now feature silhouettes for a stylized, classic game aesthetic.
* **Bouncing & Indirect Light:** New mechanics for light accumulation and bounce.
* **True Darkness:** Nights are now significantly darker and more atmospheric.
—
### 1) What this shader does
* **Enhanced Lighting:** Change global illumination and light.
* **Diferrent Visuals:** Tweaks colors and contrast.
* **Performance is not bad:** Designed to run on mid-range hardware.
### 2) Why you should try it
* **New Feel:** provide a “moody” atmosphere.
* **Plug & Play:** No complex installations—it’s a standard resource pack.
### 3) Critical Info & Compatibility
* **Visual Only:** This is a purely aesthetic pack; it does not change gameplay mechanics or add any “cheats.”
*
* **Feedback Welcome:** Since I’m learning, your feedback is incredibly valuable! Feel free to report bugs or share your thoughts.
Vulkan PostFX
# Vulkan PostFX
**Vulkan PostFX is a lightweight post-processing shader pack loader for Minecraft’s Vulkan renderer.**
It allows external **VPFX shader packs** to add screen-space visual effects such as color grading, vignette, tone mapping, highlight compression, and cinematic look adjustments.
## Start here
For the best first experience, install:
– **Vulkan PostFX** — the loader
– **VerdantVK** — the official example shader pack
Vulkan PostFX is still experimental, but it can already load external ZIP-based VPFX packs through Minecraft’s resource pipeline.
The current goal is not to fully replicate Iris / OptiFine pipeline compatibility in one step.
—
## Current Progress
The project already supports the following core features:
– scanning external ZIP shader packs under `run/shaderpacks/`
– reading and parsing `pack.json` inside shader packs
– explicitly selecting the active pack via `active_pack_id`
– materializing external ZIP packs into runtime resource packs
– injecting external `post_effect/main.json` into the game resource pipeline
– actually loading external post chains through `ShaderManager`
– an **initial translated wrapper** of **Verdant Light 1.3.0**
This means the project is no longer at the stage of merely “reading ZIP files” or “pretending to load them.” It already implements:
**external ZIP shader pack -> runtime resource pack -> external post chain execution**
—
## Project Positioning
### What this is
This is an experimental shader pack loader for the **modern Minecraft Vulkan backend**.
### What this is not
This is **not** yet a mature drop-in replacement for Iris / OptiFine with full shader semantic compatibility.
A more accurate description of the current state would be:
– a **ZIP shader pack loader prototype**
– a **post-effect-driven shader translator**
– a **working proof of concept for the Vulkan path**
—
## Implemented Features
### 1. External Pack Loading
Supports loading the following from ZIP shader packs:
– `pack.json`
– `post_effect/main.json`
– `shaders/post/*.vsh`
– `shaders/post/*.fsh`
### 2. Runtime Namespace Rewriting
External packs are rewritten into isolated runtime namespaces to avoid conflicts with built-in resources.
### 3. Runtime Resource Pack Injection
External ZIP contents are materialized into runtime resource packs during startup / resource reload and injected into the client resource system.
### 4. External Post Chain Execution
The project can now confirm that external post chains are actually found and executed, rather than simply falling back to built-in debug effects.
### 5. Initial Shader Porting
It is already possible to extract and translate the **final look layer** from traditional shader packs into a runnable Vulkan post-effect version.
—
## Current Limitations
The current version still has clear boundaries. Please keep them in mind before use.
### Not fully supported yet
The following traditional shader pipeline components are not fully supported at this stage:
– `gbuffers_*`
– `shadow.*`
– `composite.*`
– screen-space reflections (SSR)
– volumetric fog
– depth-driven material separation
– full dimension-specific shader routing (such as `world1/`, `world-1/`)
### Currently suitable for porting
The most suitable parts to port right now are:
– `final.fsh`
– final grading
– vignette
– highlight compression
– tonemapping
– screen-space look layers
### Known Issues
– Some translated packs still have **brightness mismatch**
– Some color tones may still deviate from the original pack’s intended style
– runtime resource pack metadata is still being refined and standardized
– not every original shader pack can simply be used as-is
—
## Current Available Sample
### Verdant Light 1.3.0 Vulkan Wrapper
The repository already includes an **initial Vulkan-translated version** based on **Verdant Light 1.3.0**.
This is not a full lossless recreation of the original shader pack. Instead, it:
– keeps the original pack resources as reference material
– extracts the most portable final look layer
– runs the external ZIP pack through the current loader’s real post-effect pipeline
—
## Usage
### 1. Place a shader pack
Put the ZIP shader pack into:
`run/shaderpacks/`
**_I have uploaded the template pack on the detail page._**
### 2. Select the active pack
Edit the config file:
`run/config/vulkanpostfx.json`
Example:
“`json
{
“active_pack_id”: “verdantlight130vulkan”
}
““
### 3. Launch the game
When the client starts, the loader will:
* scan ZIP files
* parse the active pack
* materialize runtime resources
* inject them into the client resource system
* attempt to load the corresponding external post chain
### 4. Toggle the debug / external effect
By default, press `F8` to toggle the current debug / external post-effect.
—
## Architecture Overview
“`text
[shaderpacks/*.zip]
|
v
[Manifest Parse]
|
v
[Active Pack Selection]
|
v
[Runtime Materialization]
|
v
[Runtime Resource Pack Injection]
|
v
[post_effect/main.json]
|
v
[ShaderManager Post Chain Loading]
|
v
[External ZIP Shader Execution]
“`
—
## Most Suitable Development Direction Right Now
The recommended next steps are not to keep stuffing more traditional shader files into the project, but to:
1. continue improving `final`-path translation quality
2. correct brightness / exposure mismatches
3. improve fidelity for sky, water, and highlights
4. gradually introduce more complex `composite` semantics
5. eventually explore a more complete Vulkan shader compatibility layer
—
## Design Philosophy
The core idea of this project is not to force all traditional shader semantics into Vulkan at once, but rather:
**first establish a truly executable chain, then gradually bring back the visual logic that matters**
In other words:
* first make external packs actually run
* then gradually make the visuals resemble the original shader pack
* only after that pursue larger-scale compatibility
—
## Notes
This is still a fast-evolving experimental project.
If you are looking for a ready-made, fully compatible replacement for Iris / OptiFine, the current version is not there yet.
But if you care about:
* Vulkan shader workflows
* external ZIP shader pack loading
* an experimental translation framework for modern Minecraft
* gradually migrating traditional shader semantics into a new rendering path
then this project is built exactly for that.
—
## **_This mod updates weekly, maybe one time or more._**
VerdantLight
# VerdantLight
—
**VerdantLight** is a lightweight, high-quality shader pack for Minecraft 1.21.4, designed to deliver natural and realistic lighting while maintaining smooth performance. Featuring path-traced lighting, dynamic shadows, day-night cycles, realistic sun and moon halos, and smart plant shadow detection to prevent small plants from casting unnatural shadows.
**Outstanding Performance:**
* On Intel Iris Plus 640, with render distance 6 and simulation distance 8, standing still gives around **75 FPS**.
* Walking across open plains maintains around **45 FPS**, providing a smooth experience without sacrificing visual quality.
**Key Features:**
* **Lightweight Optimization**: Designed for low-end hardware and high performance.
* **Dynamic Shadows**: Path-traced lighting ensures smooth, stable shadows without jittering.
* **Natural Sky**: Day-night cycle with realistic sunset/sunrise transitions, glowing sun square, and subtle moon halos.
* **Smart Plant Shadows**: Small plants cast no unnatural shadows, trees cast realistic shadows.
* **Enhanced Lighting**: Compatible with Minecraft’s native lightmaps, adds ambient occlusion for richer scene depth.
* **Rain Effects**: Sky color dynamically adjusts in rain, enhancing immersion.
**Perfect For:**
* Players seeking a lightweight, high-performance shader experience
* Builders who enjoy natural, soft lighting effects
* Low-end hardware users who want smooth FPS without compromising visuals
—
# VerdantLight
**中文介绍:**
**VerdantLight** 是专为 Minecraft 1.21.4 打造的轻量级高质量光影包,旨在在保持流畅性能的同时呈现自然、真实的光影效果。它采用路径追踪光照算法,支持动态阴影、昼夜循环、真实的太阳与月亮光晕效果,并通过智能植物阴影识别技术,让小型植物不会投射不自然的阴影,从而保证视觉的自然与细腻。
**性能表现极佳**:
* 在 Intel Iris Plus 640 上,渲染距离 6、模拟距离 8 时,玩家站立即可达到约 **75 FPS**。
* 在草原环境行走时,也能保持约 **45 FPS**,兼顾了流畅体验与光影品质。
**核心特点:**
* **轻量优化**:专为低配硬件和轻量化体验设计,减少不必要的计算负载。
* **动态阴影**:路径追踪光照算法实现实时阴影,无跳动问题。
* **自然天空**:昼夜循环、日落/日出色彩过渡,太阳正方形发光和月亮光晕自然呈现。
* **智能植物阴影**:小型植物不会投射不合理的阴影,树叶投射真实阴影。
* **光照贴图增强**:兼容 Minecraft 原生光照贴图,同时加入环境光遮蔽,使场景层次更丰富。
* **雨天效果**:雨天时天空颜色自动调整,增加沉浸感。
**适用人群**:
* 想要轻量、高性能光影体验的玩家
* 喜欢自然柔和光影效果的建造者
* 在低配硬件上追求流畅帧率的玩家
—
If there is a problem or advice, just say in the Discord Server.