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

struct BDPTWAS : Integrator
{
    BDPTWAS() {}
    BDPTWAS(int NUM_AUX, Float base_sigma, Float power, bool prefix_sum);
    // 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;

};