[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28582] trunk/blender/source/blender/ render/intern/raytrace/rayobject_rtbuild.cpp: fix for raytrace crash on scenes with very large objects, assert could fail with really large numbers, instead return 0.0.
Campbell Barton
ideasman42 at gmail.com
Tue May 4 23:56:01 CEST 2010
Revision: 28582
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28582
Author: campbellbarton
Date: 2010-05-04 23:56:01 +0200 (Tue, 04 May 2010)
Log Message:
-----------
fix for raytrace crash on scenes with very large objects, assert could fail with really large numbers, instead return 0.0.
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp
Modified: trunk/blender/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp
===================================================================
--- trunk/blender/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp 2010-05-04 21:43:43 UTC (rev 28581)
+++ trunk/blender/source/blender/render/intern/raytrace/rayobject_rtbuild.cpp 2010-05-04 21:56:01 UTC (rev 28582)
@@ -458,8 +458,10 @@
sub[2] = max[2]-min[2];
a = (sub[0]*sub[1] + sub[0]*sub[2] + sub[1]*sub[2])*2;
- assert(a >= 0.0);
- return a;
+ /* used to have an assert() here on negative results
+ * however, in this case its likely some overflow or ffast math error.
+ * so just return 0.0f instead. */
+ return a < 0.0f ? 0.0f : a;
}
int bb_largest_axis(float *min, float *max)
More information about the Bf-blender-cvs
mailing list