Tags
Creators
Details
1.15.0+mc26.2-rc2-2026-06-14
Compatibility
Changes
Vulkan PostFX 1.15.0 — Native & Shadow Stabilization
Highlights
VPFX 1.15.0 focuses on stabilizing the new native rendering path and fixing several long-standing shadow artifacts. This release improves shader pack switching, native backend selection, shadow depth handling, and terrain shadow receiver logic.
Added
-
Added native-first shader pack selection.
- VPFX now prefers native-compatible external VPFX packs when available.
- Unsupported packs can still fall back to the Minecraft PostChain backend.
-
Added support for native shadow depth inputs.
- Native pipelines can now recognize
vulkanpostfx:shadow_depthandminecraft:shadow_depth.
- Native pipelines can now recognize
-
Added support for
use_depth_bufferadmission in native graph validation.- Valid scene/depth target usage is no longer rejected too early.
-
Added configurable diagnostic throttling options for native and shadow logs.
-
Added default in-world hard resource reload for development builds.
- Shader pack switching inside a world is now much easier during testing.
Changed
-
Reworked terrain shadow receiver logic.
- Replaced unstable screen-derivative receiver normal estimation.
- Replaced unreliable direct
Normalattribute usage. - Added a stable axis/grid-based receiver mask for block surfaces.
-
Reduced shadow artifacts on vertical block faces.
- Vertical surfaces that should not receive strong parallel-light shadows are now filtered more safely.
-
Reduced excessive native runtime and shadow diagnostic logging.
- Legacy NR-1C / NR-1F diagnostic output is now silent by default.
- Shadow pass and shadow sync logs are throttled by default.
-
Improved failed-pack warning behavior.
- Failed external pack warnings are no longer spammed every frame.
-
Improved shader pack reload behavior in-world.
- Development workflow is smoother when repeatedly changing VPFX ZIP packs.
Fixed
- Fixed shadow/light behavior appearing to rotate with the player camera.
- Fixed excessive striping on vertical faces perpendicular to the sun/moon movement plane.
- Fixed
use_depth_buffer=truecausing valid VPFX packs to be rejected from native admission. - Fixed repeated warning spam when an external VPFX pack was marked as failed.
- Fixed old builtin/default configuration behavior that could leave users stuck on the Builtin Debug Pack.
- Fixed native backend selection not being obvious when external VPFX packs were available.
Developer Notes
- The current stable terrain shadow receiver strategy is axis/grid based.
- VPFX no longer relies on screen-space
dFdx/dFdynormals for terrain shadow receiver masking. - VPFX also does not yet implement the full Iris/Sodium-style extended terrain vertex normal pipeline.
- Native multi-pass execution and Showcase pack support continue to be developed.
- Entity and player shadows remain a later-stage task.
Recommended Test Points
- Test vertical walls under sun and moon lighting.
- Test rotating the camera while observing terrain shadows.
- Test F7 shader pack switching inside a loaded world.
- Test native-compatible VPFX packs with scene depth and shadow depth inputs.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:TsmOcOBN:vaevkpu1"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:TsmOcOBN:vaevkpu1"
}

