#pragma once
#include "passes/fg.h"
#include "shaders/renderer_types.h"
struct FrameData;
struct RenderData;
struct Scene;
struct Pipelines;
struct DebugDraw;
namespace ddgi_trace {
struct Resources {
BufferHandle ray_samples;
BufferHandle probe_state;
ImageHandle irradiance_img;
ImageHandle distance_img;
DdgiConfig cfg;
DdgiGridParams grid;
};
Resources create(FrameGraph &fg);
void debug_draw(DebugDraw &draw, const RenderData &rd);
void record(
rhi::Device &device,
Pipelines &pipelines,
rhi::ShaderCompiler &sc,
FrameGraph &fg,
Resources &out,
ImageHandle env,
BufferHandle tlas_buf
);
} // namespace ddgi_trace