diff options
Diffstat (limited to 'source/blender/render/intern/raytrace/rayobject_instance.cpp')
-rw-r--r-- | source/blender/render/intern/raytrace/rayobject_instance.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/render/intern/raytrace/rayobject_instance.cpp b/source/blender/render/intern/raytrace/rayobject_instance.cpp index d080ddcc375..349f0fc6844 100644 --- a/source/blender/render/intern/raytrace/rayobject_instance.cpp +++ b/source/blender/render/intern/raytrace/rayobject_instance.cpp @@ -125,6 +125,9 @@ static int RE_rayobject_instance_intersect(RayObject *o, Isect *isec) isec->bv_index[2 * i + 1] = i + 3 * isec->bv_index[2 * i + 1]; } + // Pre-calculate orientation for watertight intersection checks. + isect_ray_tri_watertight_v3_precalc(&isec->isect_precalc, isec->dir); + // raycast res = RE_rayobject_intersect(obj->target, isec); @@ -168,6 +171,9 @@ static int RE_rayobject_instance_intersect(RayObject *o, Isect *isec) isec->bv_index[2 * i + 1] = i + 3 * isec->bv_index[2 * i + 1]; } + // Pre-calculate orientation for watertight intersection checks. + isect_ray_tri_watertight_v3_precalc(&isec->isect_precalc, isec->dir); + return res; } |