Forum

Top 20 API Calls fr…
 
Notifications
Clear all

Top 20 API Calls from DirectX 12

1 Posts
1 Users
0 Reactions
10 Views
 josh
(@josh)
Member Admin
Joined: 2 months ago
Posts: 510
Topic starter  

 Here are the **top 20 essential API calls** used in DirectX 12 development, covering initialization, resource management, command recording, synchronization, and presentation:

1. **CreateDXGIFactory1** — Creates a DXGI factory for enumerating graphics adapters and creating swap chains.
2. **D3D12CreateDevice** — Creates the Direct3D 12 device, the core object for all GPU resources.
3. **CreateCommandQueue** — Creates a command queue for submitting command lists to the GPU.
4. **CreateSwapChainForHwnd** — Creates a swap chain for presenting rendered frames on a window.
5. **CreateDescriptorHeap** — Creates descriptor heaps for render target views (RTVs), depth-stencil views (DSVs), etc.
6. **GetBuffer / CreateRenderTargetView** — Gets swap chain buffers and creates RTVs for rendering.
7. **CreateCommandAllocator** — Allocates memory for recording command lists.
8. **CreateCommandList** — Creates a command list for recording rendering commands.
9. **Close / Reset CommandList** — Finalizes or resets command lists for recording commands.
10. **ResourceBarrier** — Transitions resource states (e.g., from present to render target).
11. **ClearRenderTargetView / ClearDepthStencilView** — Clears render targets and depth buffers.
12. **DrawInstanced / DrawIndexedInstanced** — Issues draw calls.
13. **ExecuteCommandLists** — Submits command lists to the command queue for execution.
14. **CreateFence** — Creates a fence for GPU-CPU synchronization.
15. **Signal / WaitForSingleObject** — Synchronizes GPU and CPU operations using fences and events.
16. **Present** — Presents the swap chain buffer to the screen.
17. **ResizeBuffers** — Resizes the swap chain buffers when the window size changes.
18. **CreateRootSignature** — Defines how shaders access resources.
19. **CreatePipelineStateObject (PSO)** — Creates a pipeline state object encapsulating shaders and rendering states.
20. **Release / Cleanup** — Releases resources and handles cleanup at shutdown.


   
Quote
Share: