From a9bb4607660a2f68a78732fd7f5d5280d8075dcb Mon Sep 17 00:00:00 2001 From: William Leeson Date: Thu, 13 Jan 2022 17:12:03 +0100 Subject: Cycles: compute triangle location from barycentric instead of re-intersecting This is a bit more efficient than what we did before. Ref D12954 --- intern/cycles/kernel/geom/motion_triangle_shader.h | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'intern/cycles/kernel/geom/motion_triangle_shader.h') diff --git a/intern/cycles/kernel/geom/motion_triangle_shader.h b/intern/cycles/kernel/geom/motion_triangle_shader.h index fc7c181882e..15730c83969 100644 --- a/intern/cycles/kernel/geom/motion_triangle_shader.h +++ b/intern/cycles/kernel/geom/motion_triangle_shader.h @@ -68,15 +68,7 @@ ccl_device_noinline void motion_triangle_shader_setup(KernelGlobals kg, verts[1] = (1.0f - t) * verts[1] + t * next_verts[1]; verts[2] = (1.0f - t) * verts[2] + t * next_verts[2]; /* Compute refined position. */ -#ifdef __BVH_LOCAL__ - if (is_local) { - sd->P = motion_triangle_refine_local(kg, sd, P, D, ray_t, isect_object, isect_prim, verts); - } - else -#endif /* __BVH_LOCAL__*/ - { - sd->P = motion_triangle_refine(kg, sd, P, D, ray_t, isect_object, isect_prim, verts); - } + sd->P = motion_triangle_point_from_uv(kg, sd, isect_object, isect_prim, sd->u, sd->v, verts); /* Compute face normal. */ float3 Ng; if (sd->object_flag & SD_OBJECT_NEGATIVE_SCALE_APPLIED) { -- cgit v1.2.3