#pragma once
#include <render/integrator.h>

struct SceneAD;
struct RndSampler;
struct Ray;

struct Direct2 : Integrator
{
    // forward rendering
    ArrayXd renderC(const Scene &scene, const RenderOptions &options) const;
    // rendering gradient image
    ArrayXd renderD(SceneAD &sceneAD,
                    const RenderOptions &options, const ArrayXd &d_image) const;
};