From 78c3692b2e16c52dd31264c4804067ab792fd971 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 13 Feb 2008 13:25:19 +0000 Subject: [PATCH] Fix for bug #7863: AO made normal map baking unnecessarily slow. Fix for bug #8226: approximate AO doesn't bake. --- source/blender/render/intern/source/convertblender.c | 5 +++++ source/blender/render/intern/source/rendercore.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 6f9f0831729..30370e1589e 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -5141,6 +5141,11 @@ void RE_Database_Baking(Render *re, Scene *scene, int type, Object *actob) if(!re->test_break()) if(re->r.mode & R_RAYTRACE) makeraytree(re); + + /* occlusion */ + if((re->wrld.mode & WO_AMB_OCC) && !re->test_break()) + if(re->wrld.ao_gather_method == WO_AOGATHER_APPROX) + make_occ_tree(re); } /* ------------------------------------------------------------------------- */ diff --git a/source/blender/render/intern/source/rendercore.c b/source/blender/render/intern/source/rendercore.c index 2230b4985f6..c1b941b6681 100644 --- a/source/blender/render/intern/source/rendercore.c +++ b/source/blender/render/intern/source/rendercore.c @@ -1837,7 +1837,8 @@ static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int quad, int else { shade_input_set_shade_texco(shi); - shade_samples_do_AO(ssamp); + if(!ELEM(bs->type, RE_BAKE_NORMALS, RE_BAKE_TEXTURE)) + shade_samples_do_AO(ssamp); if(shi->mat->nodetree && shi->mat->use_nodes) { ntreeShaderExecTree(shi->mat->nodetree, shi, &shr);