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>2018-08-22 16:19:57 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-08-22 16:21:19 +0300
commitfae127cd266c96698078a43bd2835873b74a7d4d (patch)
tree5645c86705c80bbaa6bc4a1ec86329a25c7e99ec /source/blender/blenkernel/intern/multires_reshape.c
parentdc00c330c52f060ac9c1027a4541212e8198e537 (diff)
Multires: Fix reshape of corner vertices
Was only reshaping corner vertex of a single ptex face.
Diffstat (limited to 'source/blender/blenkernel/intern/multires_reshape.c')
-rw-r--r--source/blender/blenkernel/intern/multires_reshape.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/multires_reshape.c b/source/blender/blenkernel/intern/multires_reshape.c
index c1cce0ad657..7aad7592896 100644
--- a/source/blender/blenkernel/intern/multires_reshape.c
+++ b/source/blender/blenkernel/intern/multires_reshape.c
@@ -270,8 +270,9 @@ static void multires_reshape_vertex(
ptex_uv_to_grid_uv(u, v, &grid_u, &grid_v);
}
/* Convert object coordinate to a tangent space of displacement grid. */
+ const float *final_P = ctx->deformed_verts[subdiv_vertex_index];
float D[3];
- sub_v3_v3v3(D, ctx->deformed_verts[subdiv_vertex_index], P);
+ sub_v3_v3v3(D, final_P, P);
float tangent_matrix[3][3];
construct_tangent_matrix(tangent_matrix, dPdu, dPdv, grid_corner);
float inv_tangent_matrix[3][3];
@@ -306,7 +307,7 @@ static void multires_reshape_vertex_inner(
subdiv_vertex_index);
}
-static void multires_reshape_vertex_corner(
+static void multires_reshape_vertex_every_corner(
const struct SubdivForeachContext *foreach_context,
void *UNUSED(tls_v),
const int ptex_face_index,
@@ -383,7 +384,7 @@ static bool multires_reshape_from_vertcos(struct Depsgraph *depsgraph,
.topology_info = multires_reshape_topology_info,
.vertex_inner = multires_reshape_vertex_inner,
.vertex_every_edge = multires_reshape_vertex_every_edge,
- .vertex_corner = multires_reshape_vertex_corner,
+ .vertex_every_corner = multires_reshape_vertex_every_corner,
.user_data = &ctx,
};
/* Initialize subdivision surface. */