diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-03-08 06:04:52 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-03-10 08:27:19 +0300 |
commit | db333d9ea4881d9f48e3cc4b1ec59b4dafb27cc0 (patch) | |
tree | 6ac02ba4a284e6196ed345be775cbad6436f5d7f /intern/cycles/render/object.h | |
parent | 78c2063685cb6e0d0bcb895cf4eb70686455d596 (diff) |
Cycles: support arbitrary number of motion blur steps for objects.
Diffstat (limited to 'intern/cycles/render/object.h')
-rw-r--r-- | intern/cycles/render/object.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/intern/cycles/render/object.h b/intern/cycles/render/object.h index 7cf1528c4a7..c7212ae25f9 100644 --- a/intern/cycles/render/object.h +++ b/intern/cycles/render/object.h @@ -50,8 +50,7 @@ public: int pass_id; vector<ParamValue> attributes; uint visibility; - MotionTransform motion; - bool use_motion; + array<Transform> motion; bool hide_on_missing_motion; bool use_holdout; bool is_shadow_catcher; @@ -70,6 +69,13 @@ public: void compute_bounds(bool motion_blur); void apply_transform(bool apply_to_motion); + /* Convert between normalized -1..1 motion time and index + * in the motion array. */ + bool use_motion() const; + float motion_time(int step) const; + int motion_step(float time) const; + void update_motion(); + /* Check whether object is traceable and it worth adding it to * kernel scene. */ |