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:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-01-10 19:01:35 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-01-10 19:09:48 +0300
commite551ddf712e5e8c8fb4bfcd99158158ac2f7d56e (patch)
tree4410f712bc85fc571df7d742412c03d1c7aecde1 /source/blender/blenkernel/intern/subdiv_mesh.c
parent41b65d9a8ed7f95b6851e6c6e1ef55d52961107d (diff)
Fix T60393: Subdiv gives wrong vertex colors
Diffstat (limited to 'source/blender/blenkernel/intern/subdiv_mesh.c')
-rw-r--r--source/blender/blenkernel/intern/subdiv_mesh.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/subdiv_mesh.c b/source/blender/blenkernel/intern/subdiv_mesh.c
index 4d1b436ca16..9c4793a9efc 100644
--- a/source/blender/blenkernel/intern/subdiv_mesh.c
+++ b/source/blender/blenkernel/intern/subdiv_mesh.c
@@ -385,13 +385,14 @@ static void loop_interpolation_from_corner(
* middle points.
*
* TODO(sergey): Re-use one of interpolation results from previous
- * iteration.
- */
+ * iteration. */
const float weights[2] = {0.5f, 0.5f};
- const int first_indices[2] = {
- loops_of_ptex.first_loop - coarse_mloop,
- (loops_of_ptex.first_loop + 1 - coarse_mloop) %
- coarse_poly->totloop};
+ const int base_loop_index = coarse_poly->loopstart;
+ const int first_loop_index = loops_of_ptex.first_loop - coarse_mloop;
+ const int second_loop_index =
+ base_loop_index +
+ (first_loop_index - base_loop_index + 1) % coarse_poly->totloop;
+ const int first_indices[2] = {first_loop_index, second_loop_index};
const int last_indices[2] = {
loops_of_ptex.last_loop - coarse_mloop,
loops_of_ptex.first_loop - coarse_mloop};