Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Veil Iris Lights Compat
Brings Veil shader effects and dynamic lights into the active Iris shaderpack pipeline.
Minecraft 1.21.1 · NeoForge · Client-side only · Current version: 1.4.6
Veil effects normally render outside a shaderpack's G-buffer. With Iris shaders enabled, they can disappear, use incorrect depth, or stop contributing visible light.
Veil Iris Lights Compat, shortened to VILC, translates compatible Veil shaders for Iris and adds dedicated render passes for standard Veil point and area lights. It is built for mods that already create Veil lights, including YesMenn! Colored Lights, and does not add blocks or gameplay content by itself.
Features
- Renders compatible Veil effects through active Iris shaderpacks
- Translates Veil vertex and fragment behavior into Iris G-buffer programs
- Supports opaque and translucent Veil effects
- Uses Iris
EntitiesTransprograms when available - Provides a dithering fallback for unsupported translucent paths
- Integrates compatible Veil geometry into Iris shadow rendering
- Automatically rebuilds translated shaders after shaderpack reloads
- Supports standard Veil point lights
- Supports standard Veil rectangular area lights and cone/spotlight-style area lights
- Supports per-area-light beam softness and focus controls for compatible mods
- Mixes multiple differently colored lights
- Reconstructs world positions and surface normals from shaderpack depth
- Adds angle-dependent diffuse lighting
- Supports configurable voxel occlusion and block shadows
- Uses perceptual color normalization for more even RGB brightness
- Preserves visible surface texture under bright and overlapping lights
- Uses a controlled shaderpack light pass to avoid excessive saturation
- Provides a depth-based fallback pass for setups where Iris is installed but shaderpacks are disabled
- Separates shaderpack light tuning from normal non-shaderpack Veil lighting
- Recovers light-pass framebuffers after window resize or fullscreen changes
VILC does not add blocks or gameplay content by itself. It renders lights created through Veil by other mods, including YesMenn! Colored Lights.
In-Game Configuration
Open the configuration through the mod list or with O by default.
When YesMenn! is installed, the same hotkey opens the combined Colored Lights configuration screen. In that setup, normal YesMenn!/Veil lighting and VILC shaderpack lighting use separate appearance controls so tuning shaderpacks no longer changes non-shaderpack lighting.
When YesMenn! is not installed, VILC opens its standalone configuration screen.
Quality Presets
| Preset | Point Lights | Area Lights | Surface Normals | Voxel Shadows |
|---|---|---|---|---|
| Performance | 24 | 8 | Fast | Disabled |
| Balanced | 48 | 16 | Fast | Enabled |
| High | 96 | 32 | Detailed | Enabled |
Every performance option can also be changed independently:
- Point-light budget from 1 to 96
- Area-light budget from 1 to 32
- Detailed surface normals
- Voxel shadows
Appearance controls update live:
- Exposure
- Color strength
- Color saturation
- Neutral lift
- Luminance normalization limit
The Reset button only restores appearance controls. Custom light budgets and quality options remain untouched.
Configuration is stored in config/veil_iris_lights.json.
Debugging
- Adds active pass state and light counts to the F3 debug screen
- Supports BetterF3
- Shows configured point- and area-light budgets
- Reports voxel-occlusion and rendering state
- Shows whether VILC is currently using the shaderpack pass or fallback pass
Requirements
| Dependency | Requirement |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.228 or newer |
| Iris | 1.8.14 beta 1 or newer |
| Veil | 4.1.4 or newer |
| Sodium | 0.8.12 beta 1 or newer |
Install VILC only on clients. Dedicated servers do not need it.
Mod Developer Support
Mods using Veil's standard PointLightData and AreaLightData automatically use VILC's compatible light passes. A direct Java dependency on VILC is not required for standard lights.
Area lights can additionally use VILC's optional beam-shape registry for per-light softness and focus controls. Mods that do not use that API still render with the default area-light behavior.
Blocks containing a light source can opt out of self-occlusion through:
#veil_iris_lights:non_occluding
Client mods may also register blocks directly:
VeilIrisLightOcclusion.registerNonOccluding(
ResourceLocation.fromNamespaceAndPath("example", "light_block")
);
Custom Veil light renderer types outside the standard point- and area-light APIs require separate integration.
Compatibility Notes
- Shaderpacks differ significantly, so unusual pipelines may still need specific compatibility work
- Voxel shadows use a camera-centered 64 x 64 x 64 block grid
- Complex partial block models are approximated
- Leaves use partial voxel transmission rather than texture-alpha sampling
- Occlusion outside the available voxel grid cannot be perfectly reconstructed
- Light budgets limit how many visible Veil lights are processed per frame
- Normal non-shaderpack lighting is intentionally handled separately from shaderpack tuning
Works Well With
- YesMenn!(soon!) for configurable RGB Colored Lights, panels, tubes, and spotlights
- Other mods using Veil point or area lights
- BetterF3 for extended debug layouts
Made by YesMenn!
![Veil Iris Lights Compat [VILC]](https://cdn.modrinth.com/data/MJEsr0LL/3eb9b59ab6cdee0233e70f062cc9f3bc44b40d35_96.webp)

