Skip to main content

3dmigoto Dx12 -

A very specific and technical topic!

Time for DX12 support? · Issue #141 · bo3b/3Dmigoto - GitHub 3dmigoto dx12

To understand the significance of the DX12 version, we must first look back. The original 3DMigoto worked by hooking into the DX11 API at the draw-call level. It allowed users to: A very specific and technical topic

  1. Enable dump_shaders = 1 in 3dmigoto.ini
  2. Press F3 or Insert while game is running (depends on build).
  3. Raw shader bytecode is saved to ShaderDumps folder.
  4. Use 3Dmigoto FrameAnalyzer (DX11 only) – for DX12, you often need to convert using d3d12bc to dxbc or use RenderDoc + manual replay.
  • Dynamic texture arrays: Games that sample textures via Texture2DArray[g_iIndex] cannot be reliably modded.
  • Async compute workloads: If the game uses a separate compute queue for post-processing, 3DMigoto’s main queue hook may miss it.
  • Raytracing (DXR): 3DMigoto DX12 does not support DispatchRays or shader tables. The entire DXR pipeline is opaque.
  • VR (OpenVR/OpenXR): While the DX12 version can hook the swapchain, VR’s dual-eye rendering and lens distortion passes break the cloning logic.

8. For Modders – Extracting DX12 Models