Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-10-18 13:19:53 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-10-18 13:19:53 +0300
commit01a0649354a4052e3f826663c50753833a257d1f (patch)
tree2bcb0f0d79d0d08256392f6903a2f5cb14c00af0 /intern/cycles/bvh
parentab7ebf2b10f67b002447fb0e2cb352c2c178e128 (diff)
Cycles: Fix wrong shading when some mesh triangle has non-finite coordinate
This is fully unpredictable for artists when one damaged object makes the whole scene to render incorrectly. This involves two main changes: - It is not enough to check triangle bounds to be valid when building BVH. This is because triangle might have some finite vertices and some non-finite. - We shouldn't add non-finite triangle area to the overall area for MIS.
Diffstat (limited to 'intern/cycles/bvh')
-rw-r--r--intern/cycles/bvh/bvh_build.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/intern/cycles/bvh/bvh_build.cpp b/intern/cycles/bvh/bvh_build.cpp
index 649ce52da05..39e14dba3ee 100644
--- a/intern/cycles/bvh/bvh_build.cpp
+++ b/intern/cycles/bvh/bvh_build.cpp
@@ -129,7 +129,7 @@ void BVHBuild::add_reference_triangles(BoundBox& root, BoundBox& center, Mesh *m
if(attr_mP == NULL) {
BoundBox bounds = BoundBox::empty;
t.bounds_grow(verts, bounds);
- if(bounds.valid()) {
+ if(bounds.valid() && t.valid(verts)) {
references.push_back(BVHReference(bounds,
j,
i,