Distant Horizons for VulkanMod

VulkanMod compatible version of Distant Horizons

File Details

2.4.6+vm.3-mc1.21.11-STANDALONE

  • B
  • Mar 8, 2026
  • 24.31 MB
  • 314
  • 1.21.11
  • Fabric

File Name

DistantHorizons-VulkanMod-fabric-2.4.6+vm.3-mc1.21.11.jar

Supported Versions

  • 1.21.11

Curse Maven Snippet

Fabric

modImplementation "curse.maven:distant-horizons-vulkanmod-1479241:7728442"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

Rendering Fixes

  • Fixed LODs only rendering on half the screen (diagonal artifact) on NVIDIA GPUs. The fullscreen composite quad's vertex buffer data was read incorrectly by the NVIDIA driver, causing one of two triangles to never draw.
  • Fixed composite depth test failing against uninitialized depth buffer data on NVIDIA. MoltenVK silently clears depth to 1.0, hiding the bug on macOS.
  • Fixed MC terrain not rendering correctly in front of LODs in certain screen regions.

Rendering Pipeline Changes

  • LOD compositing now happens before MC terrain renders, not after. MC's opaque terrain overwrites LODs via depth test, and transparent terrain (water, leaves, glass) renders on top with alpha blending — matching vanilla MC behavior.
  • Reduced LOD clip distance to a fixed 7 blocks. Since MC terrain now renders after LODs, MC's own depth test handles occlusion naturally. The small clip distance only prevents LOD bleed-through at leaf cutout edges and other transparent block boundaries.

Composite, SSAO, and Fog Pipelines

  • All fullscreen passes (composite, SSAO, fog) now use a single oversized triangle with vertex positions generated in the shader, bypassing vertex buffer data entirely. This avoids the NVIDIA issue and is the standard Vulkan best practice for post-processing.
  • Added debug visualization modes to the composite pipeline: depth, SSAO, fog alpha, fog color, and normals.

Config and UI

  • Unsupported settings on the Vulkan path (wireframe, instanced rendering, vanilla fog, OpenGL debug options) are now automatically locked or hidden in the settings UI.

Technical Details

  • Fullscreen triangle vertices at NDC (-1,-1), (3,-1), (-1,3) cover the entire viewport after GPU clipping. Positions are generated from gl_VertexIndex in the vertex shader — no vertex buffer data is read.
  • Composite depth function set to GL_ALWAYS because MC's depth buffer uses VK_ATTACHMENT_LOAD_OP_DONT_CARE, which produces undefined values on NVIDIA but implicit zeros on MoltenVK.
  • Added deferredComposite() to IVulkanRenderDelegate for the new render ordering.