Cycles code refactor: improve vertex motion attribute storage and export.

This now supports multiple steps and subframe sampling of motion.

There is one difference for object and camera transform motion blur. It still
only supports two steps there, but the transforms are now sampled at subframe
times instead of the previous and next frame and then interpolated/extrapolated.
This will give different render results in some cases but it's more accurate.

Part of the code is from the summer of code project by Gavin Howard, but it has
been significantly rewritten and extended.
This commit is contained in:
Brecht Van Lommel
2014-03-29 13:03:46 +01:00
parent 934767cf7f
commit 99f5993088
14 changed files with 324 additions and 114 deletions

View File

@@ -53,14 +53,16 @@ public:
ParticleSystem *particle_system;
int particle_index;
Object();
~Object();
void tag_update(Scene *scene);
void compute_bounds(bool motion_blur, float shuttertime);
void compute_bounds(bool motion_blur);
void apply_transform();
vector<float> motion_times();
};
/* Object Manager */