Implement WhittedIntegrator
wahn opened this issue · 2 comments
wahn commented
Currently there is one integrator missing on the Rust side: The WhittedIntegrator
. On the C++ side we have:
// WhittedIntegrator Declarations
class WhittedIntegrator : public SamplerIntegrator {
public:
// WhittedIntegrator Public Methods
WhittedIntegrator(int maxDepth, std::shared_ptr<const Camera> camera,
std::shared_ptr<Sampler> sampler,
const Bounds2i &pixelBounds)
: SamplerIntegrator(camera, sampler, pixelBounds), maxDepth(maxDepth) {}
Spectrum Li(const RayDifferential &ray, const Scene &scene,
Sampler &sampler, MemoryArena &arena, int depth) const;
private:
// WhittedIntegrator Private Data
const int maxDepth;
};
wahn commented
wahn commented
Since commit cf5235a the Rust code implements the WhittedIntegrator
. One pixel difference to the C++ code:
> imf_diff pbrt.png pbrt_feature_demo_integrator_whitted.png
differing pixels: 0.000% (1 of 518400)
average difference: 1.480%
maximum difference: 1.480%
Summary: 1 pixel differs slightly.