From 6e03b70def962bf4c7ee346916c7472700c7f336 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 14 Feb 2013 21:40:28 +0000 Subject: Fix cycles hair curves with NaN values not rendering with dynamic BVH. These NaN values were breaking the bounding box computation, now they should have no influence. --- intern/cycles/util/util_boundbox.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'intern') diff --git a/intern/cycles/util/util_boundbox.h b/intern/cycles/util/util_boundbox.h index 0c857f906ee..7564c1f3c5c 100644 --- a/intern/cycles/util/util_boundbox.h +++ b/intern/cycles/util/util_boundbox.h @@ -61,15 +61,17 @@ public: __forceinline void grow(const float3& pt) { - min = ccl::min(min, pt); - max = ccl::max(max, pt); + /* the order of arguments to min is such that if pt is nan, it will not + * influence the resulting bounding box */ + min = ccl::min(pt, min); + max = ccl::max(pt, max); } __forceinline void grow(const float3& pt, float border) { float3 shift = {border, border, border, 0.0f}; - min = ccl::min(min, pt - shift); - max = ccl::max(max, pt + shift); + min = ccl::min(pt - shift, min); + max = ccl::max(pt + shift, max); } __forceinline void grow(const BoundBox& bbox) -- cgit v1.2.3