From dc3563ff4801907ec8cd21a1589f0cb56d021a8f Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 21 Jul 2015 15:36:35 +0200 Subject: 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/util/util_transform.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'intern/cycles/util') diff --git a/intern/cycles/util/util_transform.h b/intern/cycles/util/util_transform.h index 0b87db0a379..ba8d04b5c16 100644 --- a/intern/cycles/util/util_transform.h +++ b/intern/cycles/util/util_transform.h @@ -55,6 +55,11 @@ typedef struct DecompMotionTransform { float4 post_x, post_y; } DecompMotionTransform; +typedef struct PerspectiveMotionTransform { + Transform pre; + Transform post; +} PerspectiveMotionTransform; + /* Functions */ ccl_device_inline float3 transform_perspective(const Transform *t, const float3 a) -- cgit v1.2.3