Add support for subdividing non-closed meshes #3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thanks for the awesome library! I am using this to subdivide meshes from Blender on the client. When encountering a non-closed mesh, I found it to produce artifacts (see demo below).
This patch adds support for subdividing meshes which are non-closed or contain holes. The algorithm is based on step 3 and 4 here:
https://graphics.stanford.edu/wikis/cs148-09-summer/Assignment3Description
Here's another reference (but it describes a different interpolation for edge points which mismatches Blender)
https://rosettacode.org/wiki/Catmull%E2%80%93Clark_subdivision_surface
Before:
![before](https://user-images.githubusercontent.com/16893/29234741-0880fb10-7eae-11e7-9c76-113b9bf33b37.png)
After:
![after](https://user-images.githubusercontent.com/16893/29234746-0ce7ce0e-7eae-11e7-9248-f228ee4fd656.png)