diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-09-21 15:53:21 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-09-23 17:02:24 +0300 |
commit | c0384c46459e89efe1c220e9a535527291d7f940 (patch) | |
tree | 19d42b49be7e3bb51cac13cc165a4c7759d57bf3 | |
parent | 23427bfebf414105846b88e054289af6c85abac8 (diff) |
Fix T46159: OpenSubdiv does not always give same results as Blender own subsurf code with crease edges
-rw-r--r-- | intern/opensubdiv/opensubdiv_converter.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/intern/opensubdiv/opensubdiv_converter.cc b/intern/opensubdiv/opensubdiv_converter.cc index 5d43cafd1f3..3fadde68d32 100644 --- a/intern/opensubdiv/opensubdiv_converter.cc +++ b/intern/opensubdiv/opensubdiv_converter.cc @@ -467,6 +467,14 @@ inline bool TopologyRefinerFactory<OpenSubdiv_Converter>::assignComponentTags( break; } } + if (vert_edges.size() == 2) { + int edge0 = vert_edges[0], + edge1 = vert_edges[1]; + float sharpness0 = conv.get_edge_sharpness(&conv, edge0), + sharpness1 = conv.get_edge_sharpness(&conv, edge1); + float sharpness = std::min(sharpness0, sharpness1); + setBaseVertexSharpness(refiner, vert, sharpness); + } } return true; |