From 77f96266e85379e341a7f6b2125db62316f364e2 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 27 Feb 2016 23:51:25 +0100 Subject: Fix T47608: Cycles cage baking crash after recent uv derivative fixes. --- source/blender/render/intern/source/bake_api.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/blender/render/intern/source/bake_api.c b/source/blender/render/intern/source/bake_api.c index 4101acf7990..6aec0a90269 100644 --- a/source/blender/render/intern/source/bake_api.c +++ b/source/blender/render/intern/source/bake_api.c @@ -543,6 +543,7 @@ bool RE_bake_pixels_populate_from_objects( for (i = 0; i < num_pixels; i++) { float co[3]; float dir[3]; + TriTessFace *tri_low; primitive_id = pixel_array_from[i].primitive_id; @@ -557,16 +558,19 @@ bool RE_bake_pixels_populate_from_objects( /* calculate from low poly mesh cage */ if (is_custom_cage) { calc_point_from_barycentric_cage(tris_low, tris_cage, mat_low, mat_cage, primitive_id, u, v, co, dir); + tri_low = &tris_cage[primitive_id]; } else if (is_cage) { calc_point_from_barycentric_extrusion(tris_cage, mat_low, imat_low, primitive_id, u, v, cage_extrusion, co, dir, true); + tri_low = &tris_cage[primitive_id]; } else { calc_point_from_barycentric_extrusion(tris_low, mat_low, imat_low, primitive_id, u, v, cage_extrusion, co, dir, false); + tri_low = &tris_cage[primitive_id]; } /* cast ray */ - if (!cast_ray_highpoly(treeData, &tris_low[primitive_id], tris_high, + if (!cast_ray_highpoly(treeData, tri_low, tris_high, pixel_array_from, pixel_array_to, mat_low, highpoly, co, dir, i, tot_highpoly)) { /* if it fails mask out the original pixel array */ -- cgit v1.2.3