Sunday, 1 July 2012

Motion Blur


I finally got the transformation infrastructure sorted out in order to facilitate adding transformation motion blur support to Imagine. Each ray sample per-pixel has a stratified time sample over the shutter's open duration. There's a bit of overhead, as each ray (if it hits the expanded boundary box of the objects bounds for the shutter time) has to interpolate the object's transform matrix for its time delta.

In addition, as with depth-of-field circle-of-confusion sampling, care has to be taken so that the samples don't interfere/correspond too closely with the camera's pixel sample positions, otherwise aliasing occurs. Randomly shuffling the positions seems to do quite nicely.