light_cull.h

cross platform rendering playground

src/passes/cluster/light_cull.h

480 B
#pragma once

#include "passes/fg.h"

struct Device;
struct FrameData;
struct Pipelines;

namespace light_cull {

struct Resources {
    BufferHandle light_index_list;
    BufferHandle light_index_counter; // not read by forward; tracks lights culled per cluster
};
Resources record(
    rhi::Device &device,
    Pipelines &pipelines,
    rhi::ShaderCompiler &sc,
    FrameGraph &fg,
    BufferHandle cluster_bounds,
    BufferHandle cluster_records
);

} // namespace light_cull