|
Foundation
|
Reference implementations of real-time rendering routines. More...
Classes | |
| struct | ApplicationInitDesc |
| Initialization parameters for RenderApplication. More... | |
| class | GPUScene |
| Scene data management for asynchronous data updates/uploads on the GPU. More... | |
| struct | GPUSceneBudgets |
| class | RenderApplication |
| Template base class for rendering applications. More... | |
| class | StagedBuffer |
| Helper class for GPU buffer updates. More... | |
| class | StagingBuffer |
| Bump-only allocation buffer used for staging data to be transferred to GPU. More... | |
| class | TexturePool |
| Bindless Texture Pool implementation. More... | |
| class | UploadContext |
| Deferred upload context for transferring data to GPU resources. More... | |
| class | VirtualAllocator |
| Thread-safe wrapper around VulkanMemoryAllocator's Virtual Allocator interface. More... | |
Variables | |
| constexpr TexturePoolHandle | kInvalidTexturePoolHandle = ~0u |
| constexpr VirtualAllocation | kInvalidVirtualAllocation = ~0u |
Reference implementations of real-time rendering routines.
| using Foundation::Rendering::BufferStagingItem = typedef Tuple<RHIBuffer*, RHIBuffer*, RHICommandList::CopyBufferRegion> |
| using Foundation::Rendering::TexturePair = typedef Pair<RHIDeviceScopedObjectHandle<RHITexture>, RHITextureScopedHandle<RHITextureView> > |
| BufferStagingList & Foundation::Rendering::CoalesceBufferStaging | ( | BufferStagingList & | res | ) |
Two-pointers in-place coalescing of copy regions.
O(N log N) due to sorting. Though N should be quite small in practice as we'd also coalesce neighboring transfers on-the-fly in StagedBuffer::Transfer
Drivers may do this too - but we can't rely on it, plus pushing copy commands in itself has quite some overhead.
|
inline |
|
inline |
Creates a full-screen triangle pass that renders a texture to the current backbuffer.
| auto * Foundation::Rendering::createPSFullscreenPass | ( | Renderer * | r, |
| StringView | name, | ||
| FSetup && | setup | ||
| ) |
| auto * Foundation::Rendering::createPSFullscreenPass | ( | Renderer * | r, |
| StringView | name, | ||
| FSetup && | setup, | ||
| FRecord && | record | ||
| ) |
Creates a full-screen triangle pass that writes to the current backbuffer.
| setup | is called once during setup phase of the pass, after a fullscreen vertex stage is bound. |
| record | is called once per frame during execution phase of the pass, after the pipeline is set. |
|
constexpr |
|
constexpr |