Developer knowledge network · moderated exchange

UnreliableCode コミュニティ

開発者リサーチ、リバース エンジニアリング、コーディング コミュニティ

Tutorial

DirectX 12 Descriptor Heap & Root Signature setup for Dear ImGui [v2.4 Technical Discussion]

dx12_render_dev
DX12 Master
MEMBER
担当者: 55
参加日: Oct 2020
投稿: 9
ありがとう: 65
1 か月前 · Jul 9, 2026 6:33 PM
#1

Configuring DirectX 12 descriptor heaps for ImGui shaders:

CPP
D3D12_DESCRIPTOR_HEAP_DESC desc = {};
desc.Type = D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV;
desc.NumDescriptors = 1;
desc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE;
pDevice->CreateDescriptorHeap(&desc, IID_PPV_ARGS(&g_pd3dSrvDescHeap));

ImGui_ImplDX12_Init(
    pDevice,
    3, // Buffer count (triple buffering)
    DXGI_FORMAT_R8G8B8A8_UNORM,
    g_pd3dSrvDescHeap,
    g_pd3dSrvDescHeap->GetCPUDescriptorHandleForHeapStart(),
    g_pd3dSrvDescHeap->GetGPUDescriptorHandleForHeapStart()
);

Enables hardware-accelerated font texture sampling in DX12 games!

vulkan_coder_99
Vulkan Dev
MEMBER
担当者: 91
参加日: Jul 2021
投稿: 2
ありがとう: 45
1 か月前 · Jul 9, 2026 9:12 PM
#2

DX12 explicit descriptor heap binding is similar to Vulkan Descriptor Pools. Clean and performant.

imgui_artisan
UI Designer
MEMBER
担当者: 202
参加日: Apr 2019
投稿: 54
ありがとう: 28
1 か月前 · Jul 10, 2026 7:29 AM
#3

Tested on modern DX12 titles. Runs at 240+ FPS with zero stutter.