[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16260] branches/soc-2008-unclezeiv/source /blender: Just realized, thanks to renderdemon, that World > Range affects all lights, not only the environment lighting (sorry!).

Davide Vercelli davide.vercelli at gmail.com
Tue Aug 26 17:36:31 CEST 2008


Revision: 16260
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16260
Author:   unclezeiv
Date:     2008-08-26 17:35:54 +0200 (Tue, 26 Aug 2008)

Log Message:
-----------
Just realized, thanks to renderdemon, that World > Range affects all lights, not only the environment lighting (sorry!). As a consequence of this, added a slider to control a multiplicative factor for environment lighting.

Modified Paths:
--------------
    branches/soc-2008-unclezeiv/source/blender/blenloader/intern/readfile.c
    branches/soc-2008-unclezeiv/source/blender/makesdna/DNA_scene_types.h
    branches/soc-2008-unclezeiv/source/blender/render/intern/source/lightcuts.c
    branches/soc-2008-unclezeiv/source/blender/src/buttons_scene.c

Modified: branches/soc-2008-unclezeiv/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/soc-2008-unclezeiv/source/blender/blenloader/intern/readfile.c	2008-08-26 14:58:33 UTC (rev 16259)
+++ branches/soc-2008-unclezeiv/source/blender/blenloader/intern/readfile.c	2008-08-26 15:35:54 UTC (rev 16260)
@@ -7784,6 +7784,8 @@
 					r->lightcuts_indir_dist= 5.0f;
 				if(r->lightcuts_color_weight==0)
 					r->lightcuts_color_weight= 1;
+				if(r->lightcuts_env_map_fac==0.0f)
+					r->lightcuts_env_map_fac= 1.0f;
 			}
 			
 			sce= sce->id.next;

Modified: branches/soc-2008-unclezeiv/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- branches/soc-2008-unclezeiv/source/blender/makesdna/DNA_scene_types.h	2008-08-26 14:58:33 UTC (rev 16259)
+++ branches/soc-2008-unclezeiv/source/blender/makesdna/DNA_scene_types.h	2008-08-26 15:35:54 UTC (rev 16260)
@@ -322,6 +322,8 @@
 	short lightcuts_options;
 	short lightcuts_color_weight;
 	float lightcuts_indir_dist;
+	float lightcuts_env_map_fac;
+	int lightcuts_pad;
 	int lightcuts_debug_options;
 } RenderData;
 

Modified: branches/soc-2008-unclezeiv/source/blender/render/intern/source/lightcuts.c
===================================================================
--- branches/soc-2008-unclezeiv/source/blender/render/intern/source/lightcuts.c	2008-08-26 14:58:33 UTC (rev 16259)
+++ branches/soc-2008-unclezeiv/source/blender/render/intern/source/lightcuts.c	2008-08-26 15:35:54 UTC (rev 16260)
@@ -891,7 +891,7 @@
 }
 
 
-static void convert_environment_map(Render *re, LightcutsData *lcd, int n)
+static void convert_environment_map(Render *re, LightcutsData *lcd, int n, float fac)
 {
 	GroupObject *gonew;
 	LampRen *lar;
@@ -969,7 +969,7 @@
 		 */
 		
 		/* please note: you can control this factor via Shading > World > Range */
-		lar->energy= M_PI / (float)n;
+		lar->energy= fac * M_PI / (float)n;
 		lar->r= col[0] * lar->energy;
 		lar->g= col[1] * lar->energy;
 		lar->b= col[2] * lar->energy;
@@ -1653,7 +1653,7 @@
 	/* light conversion */
 	
 	if (lcd->options & LC_OPT_ENV_LIGHT && re->r.lightcuts_env_map > 0)
-		convert_environment_map(re, lcd, re->r.lightcuts_env_map);
+		convert_environment_map(re, lcd, re->r.lightcuts_env_map, re->r.lightcuts_env_map_fac);
 
 	for(go=lights->first; go; go= go->next) {
 		lar= go->lampren;

Modified: branches/soc-2008-unclezeiv/source/blender/src/buttons_scene.c
===================================================================
--- branches/soc-2008-unclezeiv/source/blender/src/buttons_scene.c	2008-08-26 14:58:33 UTC (rev 16259)
+++ branches/soc-2008-unclezeiv/source/blender/src/buttons_scene.c	2008-08-26 15:35:54 UTC (rev 16260)
@@ -3457,7 +3457,8 @@
 	uiBlockBeginAlign(block);
 	uiDefButI(block, NUM, B_DIFF, "Area lights:", 0, -54, 192, 20, &G.scene->r.lightcuts_area_lights, 0, 100000, 0, 0, "The number of point lights generated for all the area lights");
 	uiDefButBitS(block, TOG, 0x8, B_DIFF, "Enable", 0, -76, 31, 20, &G.scene->r.lightcuts_options, 0, 0, 0, 0, "Enable environment map lighting");
-	uiDefButS(block, NUM, B_DIFF, "Environment map:", 33, -76, 192-33, 20, &G.scene->r.lightcuts_env_map, 0, 20000, 0, 0, "How many point lights are used to convert the environment map");
+	uiDefButS(block, NUM, B_DIFF, "Envmap:", 33, -76, 192-33-64, 20, &G.scene->r.lightcuts_env_map, 0, 20000, 0, 0, "How many point lights are used to convert the environment map");
+	uiDefButF(block, NUM, B_DIFF, "Fac:", 128, -76, 64, 20, &G.scene->r.lightcuts_env_map_fac, 0.0f, 100.0f, 0, 0, "Intensity of environment map");
 	uiBlockEndAlign(block);
 	
 	uiBlockBeginAlign(block);





More information about the Bf-blender-cvs mailing list