[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13766] trunk/blender/source/blender:
Brecht Van Lommel
brechtvanlommel at pandora.be
Tue Feb 19 17:16:17 CET 2008
Revision: 13766
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13766
Author: blendix
Date: 2008-02-19 17:16:16 +0100 (Tue, 19 Feb 2008)
Log Message:
-----------
Added an option to bake AO normalized, without material settings taken
into account. The normalized result can often be easier to integrate
into different materials, e.g. for games.
Modified Paths:
--------------
trunk/blender/source/blender/makesdna/DNA_scene_types.h
trunk/blender/source/blender/render/intern/source/occlusion.c
trunk/blender/source/blender/render/intern/source/rendercore.c
trunk/blender/source/blender/src/buttons_scene.c
Modified: trunk/blender/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_scene_types.h 2008-02-19 15:30:33 UTC (rev 13765)
+++ trunk/blender/source/blender/makesdna/DNA_scene_types.h 2008-02-19 16:16:16 UTC (rev 13766)
@@ -672,6 +672,7 @@
#define R_BAKE_CLEAR 1
#define R_BAKE_OSA 2
#define R_BAKE_TO_ACTIVE 4
+#define R_BAKE_NORMALIZE_AO 8
/* bake_normal_space */
#define R_BAKE_SPACE_CAMERA 0
Modified: trunk/blender/source/blender/render/intern/source/occlusion.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/occlusion.c 2008-02-19 15:30:33 UTC (rev 13765)
+++ trunk/blender/source/blender/render/intern/source/occlusion.c 2008-02-19 16:16:16 UTC (rev 13766)
@@ -1322,7 +1322,7 @@
static void sample_occ_tree(Render *re, OcclusionTree *tree, OccFace *exclude, float *co, float *n, int thread, int onlyshadow, float *skycol)
{
- float nn[3], bn[3], dxyview[3], fac, occ, occlusion, correction;
+ float nn[3], bn[3], fac, occ, occlusion, correction;
int aocolor;
aocolor= re->wrld.aocolor;
@@ -1351,6 +1351,7 @@
}
#if 0
else { /* WO_AOSKYTEX */
+ float dxyview[3];
bn[0]= -bn[0];
bn[1]= -bn[1];
bn[2]= -bn[2];
Modified: trunk/blender/source/blender/render/intern/source/rendercore.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/rendercore.c 2008-02-19 15:30:33 UTC (rev 13765)
+++ trunk/blender/source/blender/render/intern/source/rendercore.c 2008-02-19 16:16:16 UTC (rev 13766)
@@ -1832,7 +1832,11 @@
if(bs->type==RE_BAKE_AO) {
ambient_occlusion(shi);
- ambient_occlusion_to_diffuse(shi, shr.combined);
+
+ if(R.r.bake_flag & R_BAKE_NORMALIZE_AO)
+ VECCOPY(shr.combined, shi->ao)
+ else
+ ambient_occlusion_to_diffuse(shi, shr.combined);
}
else {
shade_input_set_shade_texco(shi);
Modified: trunk/blender/source/blender/src/buttons_scene.c
===================================================================
--- trunk/blender/source/blender/src/buttons_scene.c 2008-02-19 15:30:33 UTC (rev 13765)
+++ trunk/blender/source/blender/src/buttons_scene.c 2008-02-19 16:16:16 UTC (rev 13766)
@@ -2082,6 +2082,8 @@
if(G.scene->r.bake_mode == RE_BAKE_NORMALS)
uiDefButS(block, MENU, B_DIFF, "Normal Space %t|Camera %x0|World %x1|Object %x2|Tangent %x3",
10,70,190,20, &G.scene->r.bake_normal_space, 0, 0, 0, 0, "Choose normal space for baking");
+ else if(G.scene->r.bake_mode == RE_BAKE_AO)
+ uiDefButBitS(block, TOG, R_BAKE_NORMALIZE_AO, B_DIFF, "Normalized", 10,70,190,20, &G.scene->r.bake_flag, 0.0, 0, 0, 0, "Bake ambient occlusion normalized, without taking into acount material settings");
#if 0
uiBlockBeginAlign(block);
More information about the Bf-blender-cvs
mailing list