A mid-level framework for rendering that provides tools for resource lifetime management, descriptor set management, materials, renderpass management, and draw call dispatching
rafx-framework. Handles extracting, preparing, and writing draw calls
Use to declare a new render feature that can be registered. Registration allows easy global access to the render feature index from anywhere in the binary
Use to declare a new render feature flag that can be registered. Registration allows easy global access to the render feature flag index from anywhere in the binary
A helper that can be allocated as needed to create very short-lived command buffers. The object may not be persisted across frames. Instead, allocated a new one every frame. They are pooled, allocation is cheap and thread-safe.
An allocator for DynCommandPools, objects that are short-lived and NOT persisted across frames. Meant for allocating command buffers that are usually single use and only for the current frame. The allocator is multi-thread friendly, but the pools themselves are not. So if writing command buffers from multiple threads, allocate a pool per thread.
This handles waiting for N frames to pass before resetting the pool. “Restting” could mean different things depending on the resource. This allocator also has a callback for allocating new pools for use. A maximum pool count should be provided so that an unbounded leak of pools can be detected.
A key-value structure. The key is a type, and the value is a single object of that type
This handles waiting for N frames to pass before dropping the resource.
Implement to customize how PoolAllocator resets and destroys pools