Fixing Time Sampling/Motion Blur for SPPM #441
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Small changes allow SPPM to converge to the correct image for animated scenes. Before. Rays and photons were individually sampling a separate timestamp leading to many inconsistencies, see #440. This approach can not work without significant changes (e.g. implementing a time kernel). Using a single timestamp per iteration and using it for all rays and photons of that iteration instead provides a straightforward solution to this problem with minimal additions. Because of the numerous iterations/samples of SPPM, it reliably converges to the correct result without any sampling artifacts. I am fairly certain that this is also how they did it in the original paper.
Image with Path Tracer Integrator:
Image with existing SPPM implementation (RMSE: 0.001364; PSNR: 57.31529; SSIM: 0.99679):
Image with fixed SPPM implementation (RMSE: 0.00074; PSNR: 62.55448; SSIM: 0.99938):
For reference: I found this issue while working on a seminar paper about Photon Mapping at the Institute of Computer Graphics and Knowledge Visualisation, Graz University of Technology.
My contact information:
My supervisor:
Scene used in the example images: