promotional bannermobile promotional banner

DX12MC

DX12MC (DXMC) renders Minecraft with Direct3D 12 instead of OpenGL, through bgfx. It is an experimental learning project.
Back to Files

dx12mc-0.11.2+mc1.20.1.jar

File namedx12mc-0.11.2+mc1.20.1.jar
Uploader
TamKungZ_TamKungZ_
Uploaded
Oct 27, 2026
Downloads
9
Size
934.3 KB
Mod Loaders
Fabric
File ID
9341443
Type
B
Beta
Supported game versions
  • 1.20.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:dx12mc-1768492:9341443"

Learn more about Curse Maven

What's new

Changelog

Note: 0.9.0 is the version that fixes the low FPS problem. On a GT1030 it performs on par with vanilla and is playable, based on in-game testing.

Note: 0.8.8 is the first version intended to initialize git history. Earlier versions were experimental archives used while the renderer changed rapidly, so they were not added to git history.

0.11.2 - Minecraft 1.20.1 build

  • Add a Minecraft 1.20.1 build, 0.11.2+mc1.20.1, ported from the 1.21.1 code. It targets 1.20.1 only, and Gradle runs on JDK 21 while a Java 17 toolchain compiles the mod.
  • Take the shader table, uniform inputs and vertex formats from the vanilla 1.20.1 sources. Seven core programs that 1.20.1 has were added to the table (position_color_normal, position_color_tex, position_tex_color_normal, position_tex_lightmap_color, rendertype_armor_glint, rendertype_glint_direct, rendertype_translucent_no_crumbling) and the two it does not have (rendertype_clouds, rendertype_breeze_wind) were removed. Clouds use position_tex_color_normal.
  • Compute fog distance the way the 1.20.1 vertex shaders do: fog_distance applies the model-view matrix, and entity and text shaders first apply the inverse view rotation. The shaders get the matrix through a new u_fogView uniform.
  • Menu Background Blur does not exist in 1.20.1, so the menu blur hook and option handling are not part of this build. The End Poem background is a plain textured screen there, so the End Poem change from 0.11.1 does not apply.
  • Rebuild the compiled D3D12 shaders when the pinned shaderc hash or shader profile changes.
  • Put the compiled shaders on the main output, so a development run (runClient) finds them as well as the jar.
  • Run Gradle in the build.yml workflow on the runner JDK with -Dorg.gradle.java.home, the same as publish.yml.

This mod has no additional files