Developer knowledge network · moderated exchange

مجتمع الكود غير الموثوق به

أبحاث المطورين، مجتمع الهندسة العكسية والترميز

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 months ago · 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 months ago · 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 months ago · Jul 6, 2026 1:24 PM
#3

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