ddgi_trace.h

cross platform rendering playground

src/passes/ddgi/ddgi_trace.h

676 B
#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