Cycles: Implement rolling shutter effect
authorSergey Sharybin <sergey.vfx@gmail.com>
Fri, 20 Nov 2015 09:42:34 +0000 (14:42 +0500)
committerSergey Sharybin <sergey.vfx@gmail.com>
Thu, 31 Dec 2015 15:44:27 +0000 (20:44 +0500)
commitade35bac9355679f0966249b7d65992ef024eb04
treecdf0d9aedb6d2c9d53c8000aae2b02e8b551d587
parentc81e6ffdf942a7e8ac58ef3a48ca1bcab78f01fd
Cycles: Implement rolling shutter effect

This is an attempt to emulate real CMOS cameras which reads sensor by scanlines
and hence different scanlines are sampled at a different moment in time, which
causes so called rolling shutter effect. This effect will, for example, make
vertical straight lines being curved when doing horizontal camera pan.

This is controlled by the Shutter Type option in the Motion Blur panel.

Additionally, since scanline sampling is not instantaneous it's possible to have
motion blur on top of rolling shutter.

This is controlled by the Rolling Shutter Time slider which controls balance
between pure rolling shutter effect and pure motion blur effect.

Reviewers: brecht, juicyfruit, dingto, keir

Differential Revision: https://developer.blender.org/D1624
intern/cycles/blender/addon/properties.py
intern/cycles/blender/addon/ui.py
intern/cycles/blender/blender_camera.cpp
intern/cycles/kernel/kernel_camera.h
intern/cycles/kernel/kernel_types.h
intern/cycles/render/camera.cpp
intern/cycles/render/camera.h