ToF rendering with ellipsoidal sampling

These tutorials render with the path tracers of ToF rendering, but sample how each camera path reaches the laser differently. With the default direct sampling, every path vertex is connected straight to the laser spot, so with a narrow gate only the few paths whose length happens to fit contribute. Ellipsoidal sampling inserts a vertex whose position makes the path’s length fit the gate, so every path it samples contributes. The script saves its comparison with Pillow 10.1 or newer (pip install pillow).

Time-gated rendering

The dragon Cornell box rendered with ellipsoidal + direct MIS sampling
Ellipsoidal sampling (offline)

Compare direct, ellipsoidal and ellipsoidal_direct_mis sampling in TimeGatedPathTracerInline at equal rendering time, on the Cornell box with a dragon.

Ellipsoidal sampling (offline)