Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-03-08 06:04:52 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-03-10 08:27:19 +0300
commitdb333d9ea4881d9f48e3cc4b1ec59b4dafb27cc0 (patch)
tree6ac02ba4a284e6196ed345be775cbad6436f5d7f /intern/cycles/render/object.h
parent78c2063685cb6e0d0bcb895cf4eb70686455d596 (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.h10
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.
*/