Commit Graph

42 Commits (8585e8a7631e8db10dff140bcd046100b9ae6b88)

Author SHA1 Message Date
Jeremy Hu 416ada241d Change subdivision algorithm and fix example models 2019-11-02 16:42:05 +09:30
Jeremy Hu 4bd14b935d Average cut face edge length 2019-11-01 22:03:10 +09:30
Jeremy Hu e725bdba8c Fix angle calculation 2019-08-19 21:09:21 +09:30
Jeremy Hu 9ed4c29b39 Add hollow thickness parameter 2019-08-18 21:32:39 +09:30
Jeremy Hu adadab65ea Remove temporary deforming maps 2019-08-18 10:43:48 +09:30
Jeremy Hu 1d0f2450df Add deforming map painter
- Short cut 'D' changed meaning: from drag mode to paint mode, drag mode icon removed, but still can use space bar to invoke drag mode.
- Brush painter directly paint on part deforming map, use shift key plus mouse wheel to change the brush size, also use shift key to change paint mode(Pull/Push).
2019-08-17 19:43:11 +09:30
Jeremy Hu d27c3fb313 Update nodes ordering algorithm 2019-08-14 17:56:15 +09:30
Jeremy Hu d672e0688f Change nodes sort algorithm
Before, the nodes sort algorithm is not stable across different platform, this commit is trying to fix it.
2019-08-13 22:32:36 +09:30
Jeremy Hu 30fbfad8f9 Change scale factor during subdivision 2019-08-13 07:29:14 +09:30
Jeremy Hu bc3fae63e3 Add deform map
Deform whole part according to a height map, gray(127) represent unchanged, white represent expanding, black represent shrinking.
2019-08-03 19:51:27 +09:30
Jeremy Hu e2b221533b Fix example meerkat model and disable debug output in command line 2019-07-29 17:49:01 +09:30
Jeremy Hu 0f411d3bd9 Fix inconsistent base normal when shape is too straight 2019-07-27 14:12:07 +09:30
Jeremy Hu 3e82ee597e Add local average base normals
The base normal of each node will be averaged by sum of all the neighbors' base normal.
2019-07-22 19:10:37 +09:30
Jeremy Hu aec5acd793 Improve intermediate nodes generation
Added Intermediates nodes sometimes will make the whole part’s mesh failed to generate. This commit add a fallback option, when mesh failed to generate, the generator will try again without the intermediate nodes added.

This feature is inspired from Nico J. Dolloso’s model (https://twitter.com/nicodoll).
2019-07-20 12:12:24 +09:30
Jeremy Hu 013c671451 Fix intermediate nodes generation 2019-07-11 22:22:44 +09:30
Jeremy Hu 81fec2ed44 Update intermediate nodes filling threshold edge length 2019-07-11 20:50:34 +09:30
Jeremy Hu 3c2b60a8cc Fix mesh failure when direction of two nodes parallel to z axis 2019-07-11 19:54:52 +09:30
Jeremy Hu f7b865f18b Fix intermediate cut face 2019-07-11 19:25:52 +09:30
Jeremy Hu 31d627bca9 Support user defined cut face per each node
Before this commit, the user defined cut face can only be set for whole part. Now each node could been configured a separate cut face and rotation.
2019-07-09 08:06:07 +09:30
Jeremy Hu 8d315e3c64 Optimize intermediate nodes cut normal.
Before this commit, the cut normal of intermediate nodes doesn't consider the original nodes' travesal direction. This will cause self intersection in some cases.
2019-07-07 20:25:42 +09:30
Jeremy Hu eb91a8a16c Prepare for cut face offset modifier 2019-07-07 15:57:58 +09:30
Jeremy Hu 713935adb5 Save cut face transforms 2019-07-03 07:19:18 +09:30
Jeremy Hu 83cb6383c1 Add new base normal option: Average
When this option enabled, the mesh generator will average all the base normals of nodes with radius as a weight.
2019-06-25 08:14:04 +09:30
Jeremy Hu 6fc65df6e2 Fix invalid cut face calculation cause infinite loop 2019-06-10 21:25:09 +09:30
Jeremy Hu 63d32781c1 Fix branch wrapping #32
In this commit, the wrapping algorithm consider the position of neighbor's neighbor, so the cut normal of branch nodes would looks more natural. This commit also fix the radius calculation of the branch face.
Thanks @KeepFenDou for pointing out this issue.
2019-05-28 23:49:50 +09:30
Jeremy Hu 938b6d5d6f Add color solubility setting
If one part configured color solubility, the generated color texture seam between the neighbor parts will be gradient filled using this part's color with the specified solubility.

Demo: https://twitter.com/jeremyhu2016/status/1132159910815227904
2019-05-26 08:54:24 +09:30
Jeremy Hu bb19489ee1 Add base plane constrain settings
Mesh layout and thickness adjustment are depend on base plane calculation. In this build, the base plane calculation could be limited to front plane, side plane, and so on, compare to without any limitation in previous implementation.
2019-05-20 23:08:01 +09:30
Jeremy Hu 8f5368a43f Add user defined cut face
Extruding shape is totally customizable now, it's not limit to predefined shapes.
2019-05-19 12:51:38 +09:30
Jeremy Hu fcfe51a28a Support customizable extruding face: Quad, Pentagon, Hexagon, and Triangle 2019-05-05 22:19:26 +09:30
Jeremy Hu 69b371adb9 Fix base normal 2019-03-09 23:30:19 +09:30
Jeremy Hu 4ac83a9626 Speed up mesh generating
Use CGAL inexact kernel for mesh combination.
2019-03-08 23:26:01 +09:30
Jeremy Hu 8f5bbfd758 Fix crash on linux 2019-03-08 20:25:24 +09:30
Jeremy Hu 499c3f439a Use CGAL triangulation
Replace triangulation algorithm with CGAL triangulate_faces, the quality of generated mesh improved a lot.
This commit also reduced max uv packer times.
2019-03-07 22:43:41 +09:30
huxingyi 2d841fb58b Fix build on ubuntu 2019-03-03 14:44:48 +08:00
Jeremy Hu ae32a4693b Remove comments. 2019-02-27 23:08:39 +09:30
Jeremy Hu cbaccb0116 Add cut face chamfer tool. 2019-02-27 22:29:03 +09:30
Jeremy Hu 2b44576f22 Fix cut face base normal. 2019-02-26 22:54:58 +09:30
Jeremy Hu 02bb32391e Add cut face customizing.
This commit introduce a new tool, allow user to customize the face template for automatical extruding.
2019-02-24 23:12:23 +09:30
Jeremy Hu b2fdb7f4e8 Fix cut rotation 2019-02-23 00:03:04 +09:30
Jeremy Hu d866e0147b Add cut rotation tool
Cut rotation tool allow user to adjust the generated face's rotation.
Convex hull wrapping tool removed in this commit.
2019-02-22 08:18:15 +09:30
Jeremy Hu 3e1fde4260 Fix build 2019-02-19 20:51:12 +09:30
Jeremy Hu 4bdbdd496a Introduce new mesh generator: nodemesh
Remove meshlite, introduce nodemesh: https://github.com/huxingyi/nodemesh
Now, all the codebase move to C++, no rust language dependency.
2019-02-18 22:27:18 +09:30