[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