[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11464] branches/2-44-stable/blender/ source/blender: branches/2-44-stable
Diego Borghetti (Plumiferos)
bdiego at gmail.com
Wed Aug 1 19:36:08 CEST 2007
Revision: 11464
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11464
Author: bdiego
Date: 2007-08-01 19:36:08 +0200 (Wed, 01 Aug 2007)
Log Message:
-----------
branches/2-44-stable
Merge from trunk:
revision 10898
revision 11351
revision 11396
revision 11441
Revision Links:
--------------
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10898
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11351
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11396
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11441
Modified Paths:
--------------
branches/2-44-stable/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c
branches/2-44-stable/blender/source/blender/render/intern/source/shadeoutput.c
branches/2-44-stable/blender/source/blender/src/editscreen.c
Modified: branches/2-44-stable/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c
===================================================================
--- branches/2-44-stable/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c 2007-08-01 17:33:53 UTC (rev 11463)
+++ branches/2-44-stable/blender/source/blender/nodes/intern/CMP_nodes/CMP_math.c 2007-08-01 17:36:08 UTC (rev 11464)
@@ -142,7 +142,7 @@
CompBuf *stackbuf;
/* check for inputs and outputs for early out*/
- if(in[0]->hasinput==0 || in[1]->hasinput==0) return;
+ if(in[0]->hasinput==0 && in[1]->hasinput==0) return;
if(out[0]->hasoutput==0) return;
/* no image-color operation */
Modified: branches/2-44-stable/blender/source/blender/render/intern/source/shadeoutput.c
===================================================================
--- branches/2-44-stable/blender/source/blender/render/intern/source/shadeoutput.c 2007-08-01 17:33:53 UTC (rev 11463)
+++ branches/2-44-stable/blender/source/blender/render/intern/source/shadeoutput.c 2007-08-01 17:36:08 UTC (rev 11464)
@@ -1245,12 +1245,17 @@
lamp_get_shadow(lar, shi, inp, shadfac, shi->depth);
/* warning, here it skips the loop */
- if(lar->mode & LA_ONLYSHADOW) {
+ if((lar->mode & LA_ONLYSHADOW) && i>0.0) {
shadfac[3]= i*lar->energy*(1.0f-shadfac[3]);
shr->shad[0] -= shadfac[3]*shi->r;
shr->shad[1] -= shadfac[3]*shi->g;
shr->shad[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;
}
@@ -1280,7 +1285,7 @@
}
/* specularity */
- if(shadfac[3]>0.0f && shi->spec!=0.0f && !(lar->mode & LA_NO_SPEC)) {
+ if(shadfac[3]>0.0f && shi->spec!=0.0f && !(lar->mode & LA_NO_SPEC) && !(lar->mode & LA_ONLYSHADOW)) {
if(!(passflag & (SCE_PASS_COMBINED|SCE_PASS_SPEC)));
else if(lar->type==LA_HEMI) {
@@ -1508,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;
Modified: branches/2-44-stable/blender/source/blender/src/editscreen.c
===================================================================
--- branches/2-44-stable/blender/source/blender/src/editscreen.c 2007-08-01 17:33:53 UTC (rev 11463)
+++ branches/2-44-stable/blender/source/blender/src/editscreen.c 2007-08-01 17:36:08 UTC (rev 11464)
@@ -1400,10 +1400,9 @@
bScreen *sc= G.curscreen->id.next;
/* if screen is last, set it to first */
- if(sc == NULL)
- sc= G.main->screen.first;
+ if(sc == NULL) sc= G.main->screen.first;
- setscreen(sc);
+ if(is_allowed_to_change_screen(sc)) setscreen(sc);
g_activearea= NULL;
towin= 0;
}
@@ -1413,10 +1412,9 @@
bScreen *sc= G.curscreen->id.prev;
/* if screen is first, set it to last */
- if(sc == NULL)
- sc= G.main->screen.last;
+ if(sc == NULL) sc= G.main->screen.last;
- setscreen(sc);
+ if(is_allowed_to_change_screen(sc)) setscreen(sc);
g_activearea= NULL;
towin= 0;
}
More information about the Bf-blender-cvs
mailing list