[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13143] trunk/blender/source/blender/ render/intern/source/convertblender.c:

Brecht Van Lommel brechtvanlommel at pandora.be
Sat Jan 5 22:56:28 CET 2008


Revision: 13143
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13143
Author:   blendix
Date:     2008-01-05 22:56:28 +0100 (Sat, 05 Jan 2008)

Log Message:
-----------

Fix for use of uninitialized variable in shadow caching, could
sometimes give 1 nan pixel.

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

Modified: trunk/blender/source/blender/render/intern/source/convertblender.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/convertblender.c	2008-01-05 21:49:09 UTC (rev 13142)
+++ trunk/blender/source/blender/render/intern/source/convertblender.c	2008-01-05 21:56:28 UTC (rev 13143)
@@ -3502,16 +3502,22 @@
 			
 			/* this is the way used all over to check for shadow */
 			if(lar->shb || (lar->mode & LA_SHAD_RAY)) {
+				LampShadowSample *ls;
 				LampShadowSubSample *lss;
-				int a, b, tot= re->r.threads*re->r.osa;
+				int a, b;
 				
 				lar->shadsamp= MEM_mallocN(re->r.threads*sizeof(LampShadowSample), "lamp shadow sample");
-				lss= lar->shadsamp[0].s;
+				ls= lar->shadsamp;
+
 				/* shadfacs actually mean light, let's put them to 1 to prevent unitialized accidents */
-				for(a=0; a<tot; a++, lss++) {
-					for(b=0; b<4; b++) {
+				for(a=0; a<re->r.threads; a++, ls++) {
+					lss= ls->s;
+					for(b=0; b<re->r.osa; b++, lss++) {
 						lss->samplenr= -1;	/* used to detect whether we store or read */
-						lss->shadfac[b]= 1.0f;
+						lss->shadfac[0]= 1.0f;
+						lss->shadfac[1]= 1.0f;
+						lss->shadfac[2]= 1.0f;
+						lss->shadfac[3]= 1.0f;
 					}
 				}
 			}





More information about the Bf-blender-cvs mailing list