Developer knowledge network · moderated exchange

Zajednica UnreliableCode

Zajednica za istraživanje, obrnuti inženjering i programiranje programera

Knowledge indexŽivjeti
4Categories
919Threads
2.8KPostovi
Tutorial

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

dx12_render_dev
DX12 Master
MEMBER
Rep: 55
Datum pridruživanja: Oct 2020
Postovi: 9
Hvala: 65
prije 1 mjeseci · 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
Rep: 91
Datum pridruživanja: Jul 2021
Postovi: 2
Hvala: 45
prije 1 mjeseci · 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
Rep: 202
Datum pridruživanja: Apr 2019
Postovi: 54
Hvala: 28
prije 1 mjeseci · Jul 10, 2026 7:29 AM
#3

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