[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11441] trunk/blender/source/blender/ render/intern/source/shadeoutput.c: =Render Bugfix=

Joseph Eagar joeedh at gmail.com
Tue Jul 31 07:27:41 CEST 2007


Revision: 11441
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11441
Author:   joeedh
Date:     2007-07-31 07:27:41 +0200 (Tue, 31 Jul 2007)

Log Message:
-----------
=Render Bugfix=

Previous bugfix of spec not being included in only shadow lamps had 2 errors.
There weren't any checks for if shi->spec and shi->shad go below 0 because of
an only shadow lamp, and also the code for including spec in only shadow lamps
was slightly wrong.

Modified Paths:
--------------
    trunk/blender/source/blender/render/intern/source/shadeoutput.c

Modified: trunk/blender/source/blender/render/intern/source/shadeoutput.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/shadeoutput.c	2007-07-31 01:45:19 UTC (rev 11440)
+++ trunk/blender/source/blender/render/intern/source/shadeoutput.c	2007-07-31 05:27:41 UTC (rev 11441)
@@ -1252,9 +1252,10 @@
 						shr->shad[1] -= shadfac[3]*shi->g;
 						shr->shad[2] -= shadfac[3]*shi->b;
 						
-						shr->spec[0] -= shadfac[3]*shi->r;
-						shr->spec[1] -= shadfac[3]*shi->g;
-						shr->spec[2] -= shadfac[3]*shi->b;
+						shr->spec[0] -= shadfac[3]*shi->specr;
+						shr->spec[1] -= shadfac[3]*shi->specg;
+						shr->spec[2] -= shadfac[3]*shi->specb;
+						
 						return;
 					}
 					
@@ -1512,6 +1513,16 @@
 			shade_one_light(lar, shi, shr, passflag);
 		}
 
+		/*this check is to prevent only shadow lamps from producing negative
+		  colors.*/
+		if (shr->spec[0] < 0) shr->spec[0] = 0;
+		if (shr->spec[1] < 0) shr->spec[1] = 0;
+		if (shr->spec[2] < 0) shr->spec[2] = 0;
+
+		if (shr->shad[0] < 0) shr->shad[0] = 0;
+		if (shr->shad[1] < 0) shr->shad[1] = 0;
+		if (shr->shad[2] < 0) shr->shad[2] = 0;
+						
 		if(ma->sss_flag & MA_DIFF_SSS) {
 			float sss[3], col[3], texfac= ma->sss_texfac;
 





More information about the Bf-blender-cvs mailing list