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)
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs