Developer knowledge network · moderated exchange

UnreliableCode қауымдастығы

Әзірлеушілерді зерттеу, кері инженерия және кодтау қауымдастығы

Knowledge indexТірі
4Categories
919Threads
2.8KЖазбалар
Tutorial

DirectX 12 Descriptor Heap & Root Signature setup for Dear ImGui

dx12_render_dev
DX12 Master
MEMBER
Өкіл: 55
Қосылу күні: Oct 2020
Хабарламалар: 9
Рахмет: 65
1 ай бұрын · Jul 6, 2026 3:38 AM
#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 6, 2026 6:03 AM
#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 6, 2026 1:24 PM
#3

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