Cycles: Implement camera zoom motion blur
authorSergey Sharybin <sergey.vfx@gmail.com>
Tue, 21 Jul 2015 13:36:35 +0000 (15:36 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Tue, 21 Jul 2015 15:40:03 +0000 (17:40 +0200)
commitdc3563ff4801907ec8cd21a1589f0cb56d021a8f
tree88743d23f009deb1d3a3cc379ba1d67f5116a91e
parent1df42798d46d031c7666a75b47faa0d20fc965ef
Cycles: Implement camera zoom motion blur

Works totally similar to camera motion blur and majority of the changes are
related on just passing extra arguments to sync() functions.

Couple of things still to look into:

- Motion pass will not include motion caused by the zoom.
- Only perspective cameras are supported currently.
- Motion is being interpolated on projected coordinates, which might give
  different results from constructing projection matrix from interpolated
  field of view.

  This could be good enough for us, but we need to consider improving this
  at some point.

Reviewers: juicyfruit, dingto

Reviewed By: dingto

Differential Revision: https://developer.blender.org/D1383
intern/cycles/blender/blender_camera.cpp
intern/cycles/blender/blender_object.cpp
intern/cycles/blender/blender_session.cpp
intern/cycles/blender/blender_sync.cpp
intern/cycles/blender/blender_sync.h
intern/cycles/kernel/kernel_camera.h
intern/cycles/kernel/kernel_types.h
intern/cycles/render/camera.cpp
intern/cycles/render/camera.h
intern/cycles/util/util_transform.h