Commit Graph

552 Commits (1e7057bd90c8b78b6e06ed3338b7f9ee6c767928)

Author SHA1 Message Date
huxingyi aa5c0c90c7 Change main color to white [skip ci] 2020-10-14 22:12:05 +09:30
huxingyi 821285de82 Fix crash 2020-10-13 21:49:20 +09:30
Hugo Locurcio f5238f8761 Fix typos found using `codespell -wi3` 2020-09-11 23:30:04 +09:30
huxingyi b3e4955433 Add experimental libdust3d for windows [skip ci] 2020-07-24 14:42:40 +09:30
Andreas Stallinger ef45623ebd add include for QPainterPath
to build with Qt 5.15 the include of QPainterPath is needed
2020-07-17 07:16:10 +09:30
Andreas Stallinger b4ff6710c1 ensure file extensions are present at saving
fix for issue #68
2020-07-17 07:15:47 +09:30
huxingyi b5a1d18a21 Thanks Igor Costa de Faria for the sponsership [skip ci] 2020-07-13 07:49:34 +09:30
huxingyi 580e31c8aa Fix document settings been overwritten by importing [skip ci] 2020-04-16 18:48:41 +09:30
huxingyi 420a5997ea Optimize render view port
- Fix the bad performance of view port manipulation
- Allow to view the mesh inside
- Fix environment light not enabled in image export
- Fix wireframe not follow the view port setting in image export
2020-04-15 23:35:04 +09:30
huxingyi 29b7f13460 Remove debugging code [skip ci] 2020-04-15 16:30:04 +09:30
huxingyi 244475e002 Optimize hole fixer
If invalid neighbors are more than valid neighbors, the face will
be marked as invalid as well.
2020-04-15 08:33:23 +09:30
huxingyi 09aebfb9f8 Optmize hole fixer 2020-04-15 07:27:01 +09:30
huxingyi 5426b1afcc Add a simple mesh hole fixer 2020-04-14 21:20:19 +09:30
Jeremy Hu 76aa261d56 Fix shader camera pos [skip ci] 2020-04-13 22:55:04 +09:30
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