Developer knowledge network · moderated exchange

UnreliableCode Topluluğu

Geliştirici Araştırması, Tersine Mühendislik ve Kodlama Topluluğu

Knowledge indexCanlı
4Categories
919Threads
2.8KGönderiler
Tutorial

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

dx12_render_dev
DX12 Master
MEMBER
Temsilci: 55
Katılım Tarihi: Oct 2020
Gönderiler: 9
Teşekkürler: 65
1 ay önce · 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
Temsilci: 91
Katılım Tarihi: Jul 2021
Gönderiler: 2
Teşekkürler: 45
1 ay önce · 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
Temsilci: 202
Katılım Tarihi: Apr 2019
Gönderiler: 54
Teşekkürler: 28
1 ay önce · Jul 10, 2026 7:29 AM
#3

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