Struct FrameResources

Struct Documentation

struct FrameResources

Per-frame resources for N-frames-in-flight rendering.

Contains all per-frame GPU resources needed for N-buffered rendering. Each frame has independent command pool/buffer, synchronization primitives, descriptor allocator, and deletion queue to prevent conflicts between in-flight frames.

Destructor flushes deletion queue and destroys descriptor pools.

Public Functions

inline FrameResources(auto &&command_pool, auto &&command_buffer, auto &&image_available_sema, auto &&wait_fence, auto &&descriptors)
FrameResources(const FrameResources&) = delete
FrameResources &operator=(const FrameResources&) = delete
FrameResources(FrameResources&&) noexcept = default
FrameResources &operator=(FrameResources&&) = default
inline ~FrameResources()

Public Members

vk::raii::CommandPool command_pool = nullptr
vk::raii::CommandBuffer command_buffer = nullptr
vk::raii::Semaphore image_available_semaphore = nullptr
vk::raii::Fence wait_fence = nullptr
DeletionQueue deletion_queue = {}
vulkan::DescriptorAllocator frame_descriptors