Commit Graph

538 Commits (cef6deeda3883338ec26e1ae58b53a175ffa20db)

Author SHA1 Message Date
huxingyi d7545639c2 Change poly count rates [skip ci] 2020-04-13 10:34:09 +09:30
huxingyi 828a1a30ba Remove Mark Pen [skip ci] 2020-04-12 17:20:50 +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 7097c22c69 Add batch setting to parts tree for poly,base, and mode [skip ci] 2020-04-12 15:46:47 +09:30
huxingyi 0da8a23124 Fix deformMap of imported document not saved
- Save resources used by imported document
- Fix UV not generated if the final result is empty, even though there
  are uncombined or errored components
2020-04-12 11:35:39 +09:30
huxingyi 610bc978a8 Fix part tree UI
- Add menu: Refresh
  QTreeWidgetItem sometimes discontine to refresh the widget, this is a
  fallback option to let user refresh the tree.
- Remove the short menu
  Before, when left click on component, a short menu will popup, this
  make select nodes from part tree very difficult, so removed.
- Fix part widget display at wrong place
2020-04-12 09:55:53 +09:30
huxingyi 24e8af2352 Change default part base as PartBase::Average 2020-04-11 22:06:19 +09:30
Jeremy Hu 3be82de836 Fix remesh memory leak and add one more check for combinable mesh [skip ci] 2020-04-11 20:22:58 +09:30
huxingyi fd17185720 Add extra check for combined mesh [skip ci] 2020-04-11 18:10:58 +09:30
huxingyi 87f5136714 Fix memory leak [skip ci] 2020-04-11 17:21:52 +09:30
huxingyi 082b5ea1f1 Fallback to uncombined when component mesh is not combinable [skip ci] 2020-04-11 16:23:12 +09:30
Jeremy Hu a7730884b2 Fix mesh combiner [skip ci] 2020-04-10 23:24:57 +09:30
Jeremy Hu c26a65c565 Fix CGAL crash [skip ci] 2020-04-10 23:13:56 +09:30
Jeremy Hu 09ad531746 Fix crash 2020-04-09 22:29:41 +09:30
huxingyi 61389dd6c9 Fix part icon and menu states
Enable/Disable icon and menu items according to part states
2020-04-09 08:55:37 +09:30
huxingyi de0f133309 Fix deform of imported mesh 2020-04-09 07:09:19 +09:30
huxingyi 0dde92ab83 Fix imported mesh combine mode [skip ci] 2020-04-08 23:17:03 +09:30
huxingyi 808a21a863 Apply deform to imported mesh 2020-04-08 22:16:46 +09:30
huxingyi 62e411d4e5 Add a toon shading option box to Preferences Widget [skip ci] 2020-04-08 19:39:16 +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 cb192bdaa6 Change to single instance with multiple windows 2020-04-04 10:24:05 +09:30
huxingyi 74edcbcd0e Mark recovered file as unsaved [skip ci] 2020-04-04 07:09:52 +09:30
huxingyi 61532fe00c Add auto saving
The document will be auto saved at AppDataLocation every 10 seconds if
any change happened, and
will be deleted when document window closed normally.
Naming conversion: "yyyyMMdd-hhmmss-{guid}.d3b", file
type "d3b" means "(D)ust(3)D (B)ackup".
Each time, when app start, the auto saved files will be checked, the latest
one will be loaded automatically.
This feature is mainly for save the file before crash.

Thanks Marcus Hilsdorf for his suggestion of this feature.
2020-04-03 23:23:54 +09:30
Jeremy Hu 55e657852c Add menu: Export as Image
New feature: Exporting rendered model as png.
A offscreen render been introduced for generating normal and depth maps, which are been generated for toon shader edge detection.
2020-04-02 20:09:57 +09:30
huxingyi 120b59b45f Add tong shader 2020-03-29 19:36:45 +09:30
huxingyi ae478fc064 Fix cut face list button state 2020-03-25 21:40:47 +09:30
huxingyi 2800bf7c46 Update cut face model preview
Cut face will show as flat front view
2020-03-25 21:10:44 +09:30
huxingyi bfcf9af037 Add binary caches for import 2020-03-25 07:54:29 +09:30
huxingyi 94187c31d3 Update cut face list UI 2020-03-24 21:24:55 +09:30
huxingyi 772c3c8a75 Draw edge of nodes with direction indicator 2020-03-24 20:42:29 +09:30
huxingyi 6fcb86a191 Fix shader on win32 2020-03-20 17:11:48 +09:30
huxingyi 3a14b05977 Disable IBL on software opengl (Mesa) 2020-03-19 17:24:30 +09:30
Jeremy Hu b28c911b3e Fix shader on MacOS 2020-03-19 08:31:00 +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 9d17f71033 Fix wrong unsave state
Document title shows wrong unsave state when open a document with part group existed
2020-03-12 23:02:56 +09:30
Jeremy Hu 4eddbaa2b7 Fix negative skinning weight 2020-03-11 21:33:41 +09:30
Jeremy Hu b1984804a9 Fix CI for win32 [skip ci] 2020-03-01 23:56:02 +09:30
Jeremy Hu 4c3a123086 Add example model: Cat 2020-02-29 21:29:37 +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 f36655bf42 Fix node position of limb bone 2020-02-29 15:50:29 +09:30
Jeremy Hu 178e2296ea Hide export window before save
Thanks Memo Mind for the suggestion.
2020-02-27 22:40:07 +09:30
Jeremy Hu a0f15780b5 Fix transparency 2020-02-27 22:32:59 +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 8842739fd8 Fix rig 2020-02-19 20:35:16 +09:30
Jeremy Hu 1c3ec0c05a Fix build 2020-02-09 21:50:02 +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 9ca0102b52 Fix component renaming 2020-01-18 17:43:24 +09:30
Jeremy Hu a7f22efd1b Optimize cloth simulation 2020-01-18 15:31:10 +09:30
Jeremy Hu 2e047e3d26 Add iteration setting for cloth simulation 2020-01-18 12:34:31 +09:30
Jeremy Hu 21fd758c48 Fix faces to nodes projector 2020-01-17 22:14:55 +09:30
Jeremy Hu 1844a897c4 Add more poly count options for remesh 2020-01-17 19:45:58 +09:30
Jeremy Hu 8775a09fa3 Fix vertex source node resolving after remesh 2020-01-17 18:24:27 +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 58e01ca349 Optimize parts tree
Delay a little bit to reload the children of component to avoid the UI freeze issue.
2020-01-14 23:29:40 +09:30
Jeremy Hu 8db7266158 Reduce edge count for cloth simulation 2020-01-14 22:23:28 +09:30
Jeremy Hu 9f625f07ae Fix crash on MesaGL 2020-01-14 21:38:57 +09:30
Jeremy Hu d71fe65f22 Fix cloth settings 2020-01-14 08:15:42 +09:30
Jeremy Hu 5a59abdca4 Optimize cloth mesh simulation by enable tbb. 2020-01-13 22:54:09 +09:30
Jeremy Hu cff5cff6bc Change parts tree menu trigger method
Left mouse single press will popup short version of context menu
2020-01-13 20:50:37 +09:30
Jeremy Hu 89d49d488d Add force and offset settings for cloth simulation 2020-01-12 22:18:44 +09:30
Jeremy Hu 8ffef700c4 Add hang effect for cloth simulation 2020-01-09 23:52:33 +09:30
Jeremy Hu 44cd33d799 Add stiffness setting for cloth simulation 2020-01-09 23:30:46 +09:30
Jeremy Hu c4882dec1f Add isotropic remesh preprocess to cloth simulation 2020-01-09 08:37:14 +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 7ade61ab65 Add rendered model color toggle 2020-01-05 14:35:07 +09:30
Jeremy Hu 846270fa80 Add rendered model auto rotation
Toggle rotation from menu view
2020-01-05 08:08:16 +09:30
Jeremy Hu 66ac0b3b7f Add remesh polycount configure 2020-01-05 00:20:10 +09:30
Jeremy Hu 8c6a9fef29 Mark remeshed component as Uncombined 2020-01-04 22:19:03 +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 f2093bd42a Optimize remesh (2)
Update isotropic remesh target edge length
2020-01-02 17:29:04 +09:30
Jeremy Hu 7f517386f0 Optimize remesh
Introduce isotropic remesh before QuadriFlow
This will unify the edge length of all the faces before the mesh got subdived in QuadriFlow
2020-01-02 14:31:04 +09:30
Jeremy Hu 3ebc2cca6b Show wireframe by default
Toggle wireframe would cause crash on linux/MesaGL, only show wireframes on Windows and MacOS by default.
2020-01-02 08:03:33 +09:30
Jeremy Hu 14b65e193b Improve Marker pen
Take front view contour into calculation for x-axis.
2020-01-02 07:58:33 +09:30
Karl Robillard c251d4aa21 documentwindow: Add top level menu accelerators and a few File shortcuts.
- Remove routing of Ctrl+S shortcut through skeletongraphicswidget.
2019-12-31 21:55:02 +09:30
Karl Robillard 7a65725c41 skeletondocument.h: Fix compiler warnings for GCC 9.2.1. 2019-12-31 21:55:02 +09:30
Jeremy Hu 103ca74458 Fix crash 2019-12-30 19:58:26 +09:30
Karl Robillard fc85ded323 Save documentWindowSize in settings to preserve window size between runs. 2019-12-29 14:47:24 -05:00
Karl Robillard d02331d1e7 documentwindow: Add Quit menu item. 2019-12-29 13:53:51 -05:00
Jeremy Hu 191dbacd89 Implement component remesh 2019-12-29 18:22:35 +09:30
Jeremy Hu dd628b6af7 Integrate QuadriFlow
https://github.com/hjwdzh/QuadriFlow
2019-12-28 14:51:59 +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 7a5065865a Set OpenGL core profile shader as default 2019-12-22 21:37:42 +09:30
Jeremy Hu e394e3fa2a Hide regenerate button on export widget
There is no need to regenerate as the result mostly is the same
2019-12-22 13:30:10 +09:30
Jeremy Hu d185f7e07a Remove disabled and cut face parts from final result. 2019-12-21 16:33:35 +09:30
Jeremy Hu 7aaac5af07 Implement image skeleton extractor 2019-12-21 16:20:36 +09:30
Jeremy Hu d218789d83 Add mesh recombiner optional edge loop optimization
This optimization would make two combining edge loops move closer.
The vertex postion been updated, this will affect the quad recovery and triangle source resolver, so this optimization is been commented out currently.
2019-12-18 23:46:52 +09:30
Jeremy Hu 745c96eeb9 Include error mesh in final result 2019-12-15 12:52:24 +09:30
Jeremy Hu 40a6968599 Enable three nodes branch on gridded part 2019-12-15 11:44:04 +09:30
Jeremy Hu 0f7735e93a Fix build 2019-12-15 09:27:51 +09:30
Jeremy Hu 22373b1ed7 Implement grid mesh builder 2019-12-14 22:58:14 +09:30
Jeremy Hu 839e081d10 Fix pose editor 2019-11-09 17:45:49 +09:30
Jeremy Hu 9f12f03d58 Fix interpolation for motion generation 2019-11-08 23:35:27 +09:30
Jeremy Hu e2ca6ec5fa Fix countershaded configure 2019-11-08 17:55:50 +09:30
Jeremy Hu 59fc43f900 Fix countershading mirror 2019-11-07 23:31:03 +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 d5d46b8337 Remove remote IO protocol 2019-11-07 08:34:23 +09:30
Jeremy Hu 6b3fe2b04b Update motion interpolation editor 2019-11-06 20:20:00 +09:30