Fix for bug #7863: AO made normal map baking unnecessarily slow.

Fix for bug #8226: approximate AO doesn't bake.
This commit is contained in:
Brecht Van Lommel 2008-02-13 13:25:19 +00:00
parent b12793fb4f
commit 78c3692b2e
2 changed files with 7 additions and 1 deletions

@ -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);
}
/* ------------------------------------------------------------------------- */

@ -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);