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:
authorStefan Werner <stefan.werner@tangent-animation.com>2019-03-20 14:27:35 +0300
committerStefan Werner <stefan.werner@tangent-animation.com>2019-03-20 14:30:33 +0300
commit63cb789551537d8311f9f57e34876c11d692c6b5 (patch)
treecb8ff00fd51d4f0f7d327e668880dbbcbc7b1223 /intern/cycles/bvh
parent5eb38df4afac1f53d4e34b5fcdf70d9980018c7f (diff)
Cycles: Made Embree ignore curve intersections with SSS.
Diffstat (limited to 'intern/cycles/bvh')
-rw-r--r--intern/cycles/bvh/bvh_embree.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/intern/cycles/bvh/bvh_embree.cpp b/intern/cycles/bvh/bvh_embree.cpp
index 4b5c7152594..fa9993d8ac3 100644
--- a/intern/cycles/bvh/bvh_embree.cpp
+++ b/intern/cycles/bvh/bvh_embree.cpp
@@ -149,6 +149,13 @@ static void rtc_filter_occluded_func(const RTCFilterFunctionNArguments* args)
break;
}
+ /* Ignore curves. */
+ if(hit->geomID & 1) {
+ /* This tells Embree to continue tracing. */
+ *args->valid = 0;
+ break;
+ }
+
/* See triangle_intersect_subsurface() for the native equivalent. */
for(int i = min(ctx->max_hits, ctx->ss_isect->num_hits) - 1; i >= 0; --i) {
if(ctx->ss_isect->hits[i].t == ray->tfar) {