diff options
author | Janne Karhu <jhkarh@gmail.com> | 2010-11-01 16:51:11 +0300 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2010-11-01 16:51:11 +0300 |
commit | 3a8c37bb240f9226526b70165c04c911ed4d3c14 (patch) | |
tree | 3d945142b0c888266a7504033822adc19f0f86c3 | |
parent | 726e6d85305a228f3e13f348cd8d209c6734d1e5 (diff) |
"Fix" for [#22537] motion blur render result incorrect when full sample anti-aliasing is selected
* FSA and motion blur can't work nicely together the way they're currently implemented, so I disabled this in the ui and code.
* FSA is used if both are selected.
* Also changed the name "Full Sample Motion Blur" to "Sampled Motion Blur" to avoid confusion with full sample anti-aliasing.
-rw-r--r-- | release/scripts/ui/properties_render.py | 7 | ||||
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 6 |
2 files changed, 9 insertions, 4 deletions
diff --git a/release/scripts/ui/properties_render.py b/release/scripts/ui/properties_render.py index 44f1223aa93..4d421c8f0ea 100644 --- a/release/scripts/ui/properties_render.py +++ b/release/scripts/ui/properties_render.py @@ -483,9 +483,14 @@ class RENDER_PT_antialiasing(RenderButtonsPanel, bpy.types.Panel): class RENDER_PT_motion_blur(RenderButtonsPanel, bpy.types.Panel): - bl_label = "Full Sample Motion Blur" + bl_label = "Sampled Motion Blur" bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_RENDER'} + + @classmethod + def poll(cls, context): + rd = context.scene.render + return not rd.use_full_sample def draw_header(self, context): rd = context.scene.render diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 6fac7e7b4aa..1b08f9adfab 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -1965,7 +1965,7 @@ static void do_render_fields_3d(Render *re) /* first field, we have to call camera routine for correct aspect and subpixel offset */ RE_SetCamera(re, re->scene->camera); - if(re->r.mode & R_MBLUR) + if(re->r.mode & R_MBLUR && (re->r.scemode & R_FULL_SAMPLE)==0) do_render_blur_3d(re); else do_render_3d(re); @@ -1985,7 +1985,7 @@ static void do_render_fields_3d(Render *re) re->field_offs = 0.5f; } RE_SetCamera(re, re->scene->camera); - if(re->r.mode & R_MBLUR) + if(re->r.mode & R_MBLUR && (re->r.scemode & R_FULL_SAMPLE)==0) do_render_blur_3d(re); else do_render_3d(re); @@ -2075,7 +2075,7 @@ static void do_render_fields_blur_3d(Render *re) if(re->r.mode & R_FIELDS) do_render_fields_3d(re); - else if(re->r.mode & R_MBLUR) + else if(re->r.mode & R_MBLUR && (re->r.scemode & R_FULL_SAMPLE)==0) do_render_blur_3d(re); else do_render_3d(re); |