[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27083] trunk/blender/source/blender/ render/intern/source/shadbuf.c: Fix integer overflow problem in deep shadow buffer.
Brecht Van Lommel
brecht at blender.org
Mon Feb 22 16:03:13 CET 2010
Revision: 27083
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27083
Author: blendix
Date: 2010-02-22 16:03:13 +0100 (Mon, 22 Feb 2010)
Log Message:
-----------
Fix integer overflow problem in deep shadow buffer.
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/source/shadbuf.c
Modified: trunk/blender/source/blender/render/intern/source/shadbuf.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/shadbuf.c 2010-02-22 14:04:04 UTC (rev 27082)
+++ trunk/blender/source/blender/render/intern/source/shadbuf.c 2010-02-22 15:03:13 UTC (rev 27083)
@@ -986,8 +986,9 @@
if(a == 0)
return 1.0f; /* completely in front of all samples */
+ /* converting to float early here because ds->z - prevds->z can overflow */
prevds= ds-1;
- t= (float)(z-bias - prevds->z)/(float)(ds->z - prevds->z);
+ t= ((float)(z-bias) - (float)prevds->z)/((float)ds->z - (float)prevds->z);
return t*ds->v + (1.0f-t)*prevds->v;
}
More information about the Bf-blender-cvs
mailing list