From 51b274a6be5d59c7009fd3f439821d1e15b72709 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 12 Jul 2016 15:40:40 +0200 Subject: [PATCH] Fix T48818: Objects with alpha maps cast wrong ray shadows in BI --- source/blender/render/intern/raytrace/rayobject.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/blender/render/intern/raytrace/rayobject.cpp b/source/blender/render/intern/raytrace/rayobject.cpp index f511042749e..2104315dc00 100644 --- a/source/blender/render/intern/raytrace/rayobject.cpp +++ b/source/blender/render/intern/raytrace/rayobject.cpp @@ -145,8 +145,8 @@ MALWAYS_INLINE int isec_tri_quad(float start[3], const struct IsectRayPrecalc *i if (isect_ray_tri_watertight_v3(start, isect_precalc, face->v1, face->v2, face->v3, &l, uv)) { /* check if intersection is within ray length */ if (l > -RE_RAYTRACE_EPSILON && l < *lambda) { - r_uv[0] = uv[0]; - r_uv[1] = uv[1]; + r_uv[0] = -uv[0]; + r_uv[1] = -uv[1]; *lambda = l; return 1; } @@ -157,8 +157,8 @@ MALWAYS_INLINE int isec_tri_quad(float start[3], const struct IsectRayPrecalc *i if (isect_ray_tri_watertight_v3(start, isect_precalc, face->v1, face->v3, face->v4, &l, uv)) { /* check if intersection is within ray length */ if (l > -RE_RAYTRACE_EPSILON && l < *lambda) { - r_uv[0] = uv[0]; - r_uv[1] = uv[1]; + r_uv[0] = -uv[0]; + r_uv[1] = -uv[1]; *lambda = l; return 2; }