[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