diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-08-22 16:19:57 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-08-22 16:21:19 +0300 |
commit | fae127cd266c96698078a43bd2835873b74a7d4d (patch) | |
tree | 5645c86705c80bbaa6bc4a1ec86329a25c7e99ec /source/blender/blenkernel/intern/multires_reshape.c | |
parent | dc00c330c52f060ac9c1027a4541212e8198e537 (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.c | 7 |
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. */ |