diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-10-16 14:48:19 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-10-16 14:48:19 +0400 |
commit | 7521ce083dfeb6297313df1172690a9c22b712ec (patch) | |
tree | 1d4194f5c6162095eb387499f31cbe1a6530906e | |
parent | 0ee9f123b2a53a23bc69b24358dfe915132d2de7 (diff) |
Cycles: object motion blur enabled, so in addition to camera motion, moving
objects in the scene will also cause motion blur.
This change does come with a bit of a slow down to the CPU rendering kernel even
with motion blur disabled, due to extra overhead in handling of object matrices.
It's a few percentages on simpler scenes, not so noticeable on more complex ones.
With motion blur enabled rendering is of course also slower as would be expected,
though from testing especially GPU rendering handles it quite well.
This does not support motion blur from deforming objects yet, only translation,
scale and rotation. Deformation blur is probably for another release.
-rw-r--r-- | intern/cycles/blender/addon/ui.py | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_shader.h | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_types.h | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 93309f63a84..f125740efd5 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -131,7 +131,7 @@ class CyclesRender_PT_light_paths(CyclesButtonsPanel, Panel): class CyclesRender_PT_motion_blur(CyclesButtonsPanel, Panel): - bl_label = "Camera Motion Blur" + bl_label = "Motion Blur" bl_options = {'DEFAULT_CLOSED'} def draw_header(self, context): diff --git a/intern/cycles/kernel/kernel_shader.h b/intern/cycles/kernel/kernel_shader.h index 2711012edef..02f7b9b193f 100644 --- a/intern/cycles/kernel/kernel_shader.h +++ b/intern/cycles/kernel/kernel_shader.h @@ -73,7 +73,7 @@ __device_inline void shader_setup_from_ray(KernelGlobals *kg, ShaderData *sd, /* matrices and time */ #ifdef __OBJECT_MOTION__ if(sd->flag & SD_OBJECT_MOTION) { - sd->ob_tfm = object_fetch_transform_motion(kg, sd->object, time, &sd->ob_itfm); + sd->ob_tfm = object_fetch_transform_motion(kg, sd->object, ray->time, &sd->ob_itfm); } else { sd->ob_tfm = object_fetch_transform(kg, sd->object, OBJECT_TRANSFORM); diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 2acea04838a..b8bbaae5c2b 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -109,7 +109,7 @@ CCL_NAMESPACE_BEGIN #define __BACKGROUND_MIS__ #define __AO__ #define __CAMERA_MOTION__ -//#define __OBJECT_MOTION__ +#define __OBJECT_MOTION__ #endif //#define __SOBOL_FULL_SCREEN__ |