comp870 - Project

Motion Blur by Sample Reprojection

Motion blur requires many samples to produce high quality results and sample reprojection allows expensive samples to be reused from new viewpoints with minor inaccuracies. Combining the two methods results in a motion blur algorithm that produces a similar effect to temporal ray tracing with lower cost.

Project proposal
Final report
OS X binaries
Code (please do not redistribute)
No Windows binaries due to lack of C99 support in Visual Studio.

Results


Here is a comparison of reprojection blurring to two other motion blur methods, given time budgets of 2 seconds and 10 seconds. All renderings were done on 2 CPU threads at 2Ghz. Each scene shows a different type of transformation. For details on the method, see the final report.


Translation:
from: image to: image

Distributed ray tracingFrame blendingSample reprojection
2 sec image image image
10 sec image image image


Scaling:
from: image to: image

Distributed ray tracingFrame blendingSample reprojection
2 sec image image image
10 sec image image image


Rotation:
from: image to: image

Distributed ray tracingFrame blendingSample reprojection
2 sec image image image
10 sec image image image