Core concepts for DirectX 12 resource management
mainDirectXTK12 provides abstractions to handle the complexities of DirectX 12:
- Pipeline State Objects (PSOs): Use
EffectPipelineStateDescriptionandRenderTargetStateto configure PSOs for effects and rendering helpers. - Descriptor Heaps: Use
DescriptorHeapto manage shader-visible descriptor heaps. Rendering classes typically require descriptor heap indices at draw time. - Resource Upload: Use
ResourceUploadBatchto batch GPU resource uploads into a single command list for efficiency. - Graphics Memory:
GraphicsMemorymanages per-frame dynamic allocations (like constant buffers or dynamic vertex/index buffers). You must callGraphicsMemory::Commitonce per frame after executing command lists.