Commit Graph

47 Commits (5f2a46be9cf2867d5beac4c687a5f7a24ff638f9)

Author SHA1 Message Date
Jeremy Hu 5f2a46be9c Avoid unnecessary mesh regeneration while only texture map changed 2018-10-09 17:17:44 +08:00
Jeremy Hu 7eb5a325a0 Add MetalicRoughness material manager
Besides adding the PBR material manager, this commit hide some unnecessary features such as toggle wireframes and toggle normal smooth.
Add a regenerate button to indicate mesh is generating by showing a spiner, user can click this button to regenerate if the final result is not good.
Please note that, we generate the texture map by default compared to before we only generate texture map when user export glTF result. Current uvunwrap library cann't handle bad mesh very well, so it will crash on the wires model.
2018-10-09 10:19:12 +08:00
Jeremy Hu 7de9b61de7 Remove generated trivial seam triangles 2018-10-05 23:54:12 +08:00
Jeremy Hu f7b5fb1c6a Add PBR support
Now can configure metalness and roughness for parts, however, the PBR render isn't enabled in the code currently.
2018-10-04 20:51:01 +08:00
Jeremy Hu 6ffbdc9c7b Add mesh seam combine algorithm
Not enable by default, should enable the weldEnabled in the SkeletonDocument class.
2018-09-22 18:31:02 +08:00
Jeremy Hu e22a6de6cb Add poses list view
Added Add, modify, delete, copy, and paste poses. The paste menu for nodes not show up also got fixed in this commit.
2018-09-21 15:10:18 +08:00
Jeremy Hu 1ab3d16bd4 Fix parts render crash
Before, app crash on some machines as been reported in #15 and #16, and cannot easily be reproduced on other machines, such as a virtual box guest system, which make it very hard to trace the root cause.
Now, the offline render is totally removed from the code base, instead of offline-render to image then show the image, we can directly show the parts model in the parts tree using normal opengl widget, and the result looks better than before.
2018-09-18 14:22:29 +08:00
PowPingDone e2d9fc1c32
Fix Compile Error 2018-09-16 14:23:54 -05:00
Jeremy Hu 8dcabeae72 Fix build 2018-09-14 18:28:03 +08:00
Jeremy Hu 48bc8df5c3 Add auto-rig
This is the second version of auto-rig, differing from the first version, the user should pick up a rig type, unless no rig will be generated. Currently, only supports Tetrapod without tail. Export as glTF format to test this feature.

This commit also achive better quality quads than before.
2018-09-14 17:45:05 +08:00
Jeremy Hu 1988118179 Add smooth shading toggle 2018-09-07 20:51:33 +08:00
Jeremy Hu 0bf64eeb2d Fix build 2018-09-06 23:29:26 +08:00
Jeremy Hu 3c2d4f7480 Add mesh smooth slider
This feature could be useful for smooth one component and soften the seam of combination,
This commit also include a crash fix about incorrect use of CGAL.
2018-09-06 23:04:59 +08:00
Jeremy Hu 6693365543 Fix invalid mesh cache 2018-09-01 18:18:28 +08:00
Jeremy Hu df9c8e8e3c Add wrap button to enable use controlled convex hull generation for part.
This feature could be useful to generate complex mesh as part.
2018-08-31 12:54:32 +08:00
Jeremy Hu 623dda6ecf Replace parts list with parts tree and remove immature features 2018-08-27 16:50:40 +08:00
Jeremy Hu aeca656c76 Remove trivial bones
- Fix intermediate bone weights
- Remove trivial bones
- Introduce bullet physics engine
2018-06-19 23:49:25 +08:00
Jeremy Hu 22910028e9 Add parts subtract operation.
This is useful for making hole surface. For example, without subtraction, it's difficult to make a bucket like mesh, now, you just need to copy and paste the nodes, invert it from the Parts List Panel Context Menu, then down scale and move up a little bit.
2018-06-16 14:41:52 +08:00
Jeremy Hu 0829ef818a Add animation clip generator
- Fix skeleton weights
- Add rig controller
- Add animation clip generator
- Implement basic experiment animation(squat)
2018-06-11 22:24:25 +08:00
Jeremy Hu 6c10ad1ee2 Add node mark.
User can mark selected nodes as specified body location explictly. This will help the rigging step generating more reasonable result, also prepared for the future animation clip generation.
2018-05-30 09:51:38 +08:00
Jeremy Hu 078543b80e Add ambient occlusion baker.
- Add @ands 's lightmapper to generate ambient occlusion image.
- Refactor parts list UI.
- Add interpolated normal to .gltf export result.
- Remove bones preview and texture preview window(Integrated to export preview UI).
- Add export preview UI.
2018-05-10 17:16:22 +08:00
huxingyi d7fb742d7b Fix build 2018-05-07 10:16:58 -07:00
Jeremy Hu 1376af237b Add auto uv unwrapping.
Use https://github.com/Thekla/thekla_atlas to generate the texture.
This commit still have some issues, some faces not satisfy thekla_atlas in some cases.

- Add texture preview widget.
- Fix single node black color issue.
- Export texture in .gltf file.
- Fix node order random issue in mesh generation.
2018-05-08 00:08:19 +08:00
Jeremy Hu 3fef6c4463 Add auto-generated skeleton(skinned mesh) and glTF exporter.
And added a CONTRIBUTORS file to list the users who have done great work to help Dust3D become better, thank you!

@Alistair401
@hdu
@shadowndacorner
@Skullfurious
@RSDuck
@xtvjxk123456
@Zireael07
@glasyalabolas
@dlpatri

PS. please feel free to make a pull request or email me to change the ID or contact info listed in the CONTRIBUTORS file, and if you are mistakenly been missed in the file, please MUST edit this file and make a PR or email me.
2018-04-30 19:31:09 +08:00
Jeremy Hu 331051879d Add parts color configure and round-able configure.
- Add End-Round Type Toggle to Parts List Panel (Thanks @Alistair401 for proposing this feature).
- Add Parts Color Picker to Parts List Panel.
- Add Parts List Panel Context Menu to facilitate multiple parts visible toggle.
- Add Material Export to Export Menu.
- Prepare the source code for the auto skeleton exporter and uv unwrapper.
2018-04-26 10:23:22 +08:00
Jeremy Hu 9643920515 Fix UI too small and crash on bad mesh problem.
The model generating speed may become slightly slower than the previous version because of the extra checks.

This closes #1, and closes #3
2018-04-23 08:10:01 +08:00
Jeremy Hu 71e1a51b43 Fix export y-flipped.
> Another problem is your model seems to have an inverted Z export.
> by https://www.reddit.com/user/Skullfurious

Node coord system: Screen

Mesh generation coord system:
x-axis: --- Main Profile (Red)  --->
z-axis: --- Side Profile (Green) --->
y-axis: UP

Thanks the follow reddit users:
https://www.reddit.com/user/Skullfurious
2018-04-20 20:00:57 +08:00
Jeremy Hu f1b219333f Fix deform 2018-04-18 00:14:31 +08:00
Jeremy Hu ce41e654fb Add thickness parameter for part.
It's showed as mini button on part list widget, this parameter can be use to make fish body like mesh.
2018-04-17 21:13:32 +08:00
Jeremy Hu dd976b7fc2 Adjust color theme for part list mini button to make a better visible effect 2018-04-16 20:06:48 +08:00
Jeremy Hu a201d09535 Change subdiv from global to cut face, this makes the final result far much better 2018-04-16 08:58:04 +08:00
Jeremy Hu e9d0696be6 Reduce faces 2018-04-15 23:55:48 +08:00
Jeremy Hu ba61019b5b Fix mesh hole 2018-04-15 23:15:29 +08:00
Jeremy Hu 44a8ca6351 Add part mirror 2018-04-15 20:11:51 +08:00
Jeremy Hu f0e68d9f7a Change rendered model move button from left to middle 2018-04-11 20:49:00 +08:00
Jeremy Hu c9efa79ddb Fix union mesh, add missing files. 2018-04-11 17:37:28 +08:00
Jeremy Hu 982ee45a16 Add part enable/disable 2018-04-11 17:19:27 +08:00
Jeremy Hu 2d9f64ebc2 Collect version info macros in one header file 2018-04-11 16:34:51 +08:00
Jeremy Hu 86afcd0e7e Fix boundingbox 2018-04-11 14:28:37 +08:00
Jeremy Hu b95276ec06 Change subdiv stratege: subdiv after union. 2018-04-11 14:15:11 +08:00
Jeremy Hu f47148a537 Cleanup and reset initial render angle 2018-04-09 23:10:23 +08:00
Jeremy Hu 5e97e3d268 Add single node mesh 2018-04-09 19:13:34 +08:00
Jeremy Hu 7b3540f0c1 Add multiple selection 2018-04-08 23:08:23 +08:00
Jeremy Hu 8ee0dee3db Remove carve and other no-use deps 2018-04-08 16:05:12 +08:00
Jeremy Hu 1c4515abd7 Finish part mini buttons 2018-04-08 09:30:55 +08:00
Jeremy Hu 65b14200a5 Make part list more tidy 2018-04-07 19:51:33 +08:00
Jeremy Hu af451bd5ab Introduce new UI,
Introduce part list,
Add log viewer,
Add QtAwesome icons.
2018-04-07 16:44:39 +08:00