Commit Graph

73 Commits (20f370422c3439bd3411cfa4c8099f56911cd7ed)

Author SHA1 Message Date
huxingyi 580e31c8aa Fix document settings been overwritten by importing [skip ci] 2020-04-16 18:48:41 +09:30
huxingyi a0911a69fd Optimize nodes deletion [skip ci]
If all nodes belong to a part are selected to remove, then the part got
removed, remove part is more light weight than remove nodes and edges
2020-04-12 16:18:24 +09:30
huxingyi 63cbfa83a5 Support importing another Dust3D document as a part
- Add example model: Backpacker
    To demonstrate the importing function
- Add menu: Reverse
    Reverse selected edges. The direction of edge decide the base normal of
    generated mesh.
- Refactor stroke mesh builder
    Remove recursive calls, more consistant generated result
- Add menu: Import
2020-04-08 08:45:20 +09:30
huxingyi c84bb14ada Fix IBL shader
Implement DDS cubemap file reader to load the Cedar Bridge environment
cubemap file, and render IBL on core profile.
2020-03-18 23:47:09 +09:30
Jeremy Hu 14cbb72253 Fix motion regeneration
Fix motion not regenerating when related pose changed.
2020-02-29 20:56:08 +09:30
Jeremy Hu 6e2c1286a3 Add texture size preference setting 2020-02-27 20:23:50 +09:30
Jeremy Hu c4639d77ae Fix alphaMode of glb exporting
Only export alphaMode as BLEND when there are transparent parts.
2020-02-27 19:27:09 +09:30
Jeremy Hu 287d3f4d2e Rewrite rig generator
Before this commit, the body parts are segmented by face connectivity. In this commit, the body parts are segmented by nodes connectivity. Disconnected nodes are combined before segmentation at the endpoint from the nearest neighbor parts’ node.
2020-02-09 20:42:14 +09:30
Jeremy Hu 6c01c0d07b Remove grided mesh builder
This feature was been designed to make cloth mesh, however, it's not work as planned and is been replaced by the cloth simulation.
2020-01-18 21:54:54 +09:30
Jeremy Hu 2e047e3d26 Add iteration setting for cloth simulation 2020-01-18 12:34:31 +09:30
Jeremy Hu ec80f7bacd Fix quickjs build on win64
Add back script system and fix build error on windows 64 bit system.
2020-01-16 22:37:16 +09:30
Jeremy Hu 89d49d488d Add force and offset settings for cloth simulation 2020-01-12 22:18:44 +09:30
Jeremy Hu 44cd33d799 Add stiffness setting for cloth simulation 2020-01-09 23:30:46 +09:30
Jeremy Hu 579fa24e1c Add cloth simulation
Integrate FastMassSpring, implemented by Samer Itani(@sam007961),
Original paper: "Fast Simulation of Mass-Spring Systems" by Liu, T., Bargteil, A. W., Obrien, J. F., & Kavan, L.
2020-01-08 23:46:56 +09:30
Jeremy Hu 66ac0b3b7f Add remesh polycount configure 2020-01-05 00:20:10 +09:30
Jeremy Hu 2d05583937 Integrate Instant-Meshes
1. Drop windows 32bit support
Add windows 64bit support.

2. Remove Script(quickjs) support
The current integrated quickjs is a very old version which doesn’t support windows 64bit system. In the future, (TODO)WebAssembly should be integrate as plugin system.

3. Integrate Instant-Meshes
Instant-Meshes take less than 1 second on all three platforms.

4. Remove QuadriFlow
Current implementation of QuadriFlow is too slow (take about 5 seconds on the example model) to do realtime remeshing.
2020-01-04 19:59:10 +09:30
Jeremy Hu ee53e3ed4f Improve mesh generation
1. All components recombined regardless of color groups
2. Contour main view contribute to x-coord only when width and height is different (Offset greater than radius)
3. Fix generating indicator
2020-01-02 22:06:43 +09:30
Jeremy Hu 191dbacd89 Implement component remesh 2019-12-29 18:22:35 +09:30
Jeremy Hu 9f55f738f3 Implement marker pen
This commit introduce a new feature: Marker Pen
It allow user to quick draw a contour of the side view and got nodes automatically generated
2019-12-25 08:54:49 +09:30
Jeremy Hu 22373b1ed7 Implement grid mesh builder 2019-12-14 22:58:14 +09:30
Jeremy Hu 5c34ae61ce Add part countershading setting
Countershaded parts will be belly white colored.
2019-11-07 21:38:47 +09:30
Jeremy Hu 0abaa707f5 Add tile scale setting for texture generator 2019-11-03 09:45:20 +09:30
Jeremy Hu 1d3c4142d4 Support transparent texture
Add alpha channel support for color texture. The transparency is supported in render preview, export texture preview and glTF exporter.
2019-11-02 12:13:23 +09:30
Jeremy Hu 9e1e632ae7 Remove undo hash check 2019-10-26 10:29:24 +09:30
Jeremy Hu 82df4d5a87 Add model rotation toggle button 2019-10-19 22:44:36 +09:30
Jeremy Hu b6b5e67fad Change key H behaviour
Before: only toggle hovered part's visibility
After: when there is no part been hovered, all nodes will be toggled
2019-10-19 10:01:27 +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 95c3607996 Fix paint mode 2019-08-17 21:02:18 +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 bde3c01da0 Add 3d mouse picker 2019-08-08 20:54:33 +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 af792a9bdc Add javascript variable inputs: Float, Int, Check, Color, Select 2019-07-26 10:50:32 +09:30
huxingyi f2cc4a11e1 Fix quickjs windows build 2019-07-20 04:57:26 -07:00
Jeremy Hu 63d92e7682 Add JavaScript support
This commit introduce JavaScript as nodes generation script, to procedurally generate input nodes, which usually should draw by user on the canvas.

Powered by QuickJS (https://bellard.org/quickjs/)
2019-07-20 14:04:53 +09:30
Jeremy Hu d38737e2cb Fix mesh preview flashback
Before this commit, outdated textured preview will override the updated untextured preview. From user's perspective, sometimes, the mesh preview flashback for a short time span, although it will finally been updated to the latest.
2019-07-10 21:39:46 +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 820aa90406 Rename Vertex to ShaderVertex
Fix crash on hiding nodes after removing node
2019-07-04 19:06:50 +09:30
Jeremy Hu 1d04e1771e Disable three nodes branch by default
Three nodes branch wrapping is very easy to fail, so disable by default.
2019-06-26 21:05:56 +09:30
Jeremy Hu 4689ed163a Sort material, pose, and motion list by name 2019-06-26 07:24:22 +09:30
Jeremy Hu a945612718 Fix part mesh generation variation
Before this commit, the node id and edge id changed when reload from file, then caused the uuid changing and affected the node processing order during mesh generation.
2019-06-25 21:07:17 +09:30
Jeremy Hu 516df9a1b7 Add new pose setting: yTranslationScale
Normally, when pose been generated, foot is always been pulling to the ground by a y-translation. This setting could be used to scale the y-translation. It's usefull for birds fly kind of motion.
2019-06-19 22:27:38 +09:30
Jeremy Hu 629c02adbe Fix multiple windows crash when preference change 2019-06-12 21:03:38 +09:30
Jeremy Hu fac78b5e56 Fix preference color setting 2019-06-08 17:27:13 +09:30
Jeremy Hu 4ab76b1d76 Add preferences setting and change the behavior of shift key on scale radius 2019-06-01 22:42:53 +09:30
Jeremy Hu 7eef3f9455 Add back the smooth shading toggle menu
As @Toshiwoz suggested, there is still a need for flat shading.
2019-05-30 19:58:55 +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