Toast Engine
Loading...
Searching...
No Matches
renderer::ClusterLightingPass Class Reference
Inheritance diagram for renderer::ClusterLightingPass:
Collaboration diagram for renderer::ClusterLightingPass:

Classes

struct  GridStats

Public Member Functions

 ClusterLightingPass (const renderer::VulkanCore &core)
void update (uint32_t frame_index, float dt) override
void dispatch (vk::CommandBuffer cmd, uint32_t frame_index) override
auto getClusterParamsBuffer (uint32_t frame_index) const -> vk::Buffer
auto getLightsBuffer (uint32_t frame_index) const -> vk::Buffer
auto getClusterLightGridBuffer (uint32_t frame_index) const -> vk::Buffer
auto getLightIndexListBuffer (uint32_t frame_index) const -> vk::Buffer
void requestGridReadback () const noexcept
 The grid is only copied back for a few frames after each call.
auto getClusterLightGridCounts (uint32_t frame_index) const -> std::span< const uint32_t >
 Unclamped counts and empty until a copy for this frame slot has landed.

Static Public Member Functions

static auto summarizeGrid (std::span< const uint32_t > counts) -> GridStats

Member Function Documentation

◆ dispatch()

void renderer::ClusterLightingPass::dispatch ( vk::CommandBuffer cmd,
uint32_t frame_index )
overridevirtual

Implements IComputePass.

◆ update()

void renderer::ClusterLightingPass::update ( uint32_t frame_index,
float dt )
overridevirtual

Reimplemented from IComputePass.


The documentation for this class was generated from the following files: