Jeremy Hu
208d2a0166
Cleanup
...
Many source file name and data type are prefixed by "skeleton" before, now all are refactored.
The class MeshResultContext represents the outcome of mesh generation before, now we have material, pose and animation, so we just rename it as Outcome.
2018-10-25 08:19:38 +08:00
Jeremy Hu
dbc82fa8f1
Fix mini button display issue
...
The part highlight background hide the subdiv mini button before, this commit resolve it by move the highlight left a little bit.
2018-10-24 22:08:42 +08:00
Jeremy Hu
ee20aff397
Improve shortcuts
...
Shortcuts implementation now use QShortcut instead of using the raw key event.
Besides, hold spacebar to temporarily enter drag mode also implemented in this commit, this is very useful in zoom mode.
2018-10-24 21:44:21 +08:00
Jeremy Hu
71ccb2b71f
Fix mouse handling for render model
...
Before we use a tricky way to share mouse event between model render widget and model edit widget, which forward the event from render widget to edit widget. This will cause some problem, such as the scroll bar of edit widget would not work when it covered by the render model.
Now the mouse event is totally disabled in the render widget, and when there is a need we forward it from edit widget.
2018-10-24 16:54:18 +08:00
Jeremy Hu
f2849a020f
Fix qt warning
...
Try to call deleteLater on a nullptr would cause qt print warning message: "QCoreApplication::notify: Unexpected null receiver"
2018-10-24 06:51:33 +08:00
Jeremy Hu
d663876c5c
Rewrite the motion manager
...
Curve editor has been removed from this commit.
Instead of let user edit customized curve for motion, we provider presets. It's much more easy to add motion than before.
2018-10-23 22:57:47 +08:00
Jeremy Hu
09200c920d
Fix rig result doesn't reset after document changed
2018-10-22 07:56:56 +08:00
Jeremy Hu
34e2ac1fef
Export rig to fbx
...
Tested in Blender 2.79 and Unity 2017.4.1f1
2018-10-22 07:29:01 +08:00
Jeremy Hu
0320be1c15
Fix build
2018-10-20 21:58:20 +08:00
Jeremy Hu
ec47c20919
Fix incorrect normal after texture auto unwrapped
...
glTF normal export temporarily disabled.
2018-10-20 21:30:59 +08:00
Jeremy Hu
debdd79a7a
Fix build
2018-10-20 17:29:57 +08:00
Jeremy Hu
6f471e7678
Smooth normal based on angle
...
Currently, if the angle of two faces are less than 60 degrees, the normal is not averaged.
This feature greatly boost the realistic look of the model.
2018-10-20 16:42:29 +08:00
Jeremy Hu
096c107775
Add fbx export support (2/3)
...
Currently, only mesh exported. Tested in Blender 2.79 and Unity 2017.4.1f1 Personal (64bit).
2018-10-20 13:07:11 +08:00
Jeremy Hu
02963ebf8b
Calculate part preview in the same normal method with final model
2018-10-19 13:08:02 +08:00
Jeremy Hu
2f32158940
Replace the average normal with angle and area weighted normal
...
See details here: http://www.bytehazard.com/articles/vertnorm.html
2018-10-19 07:57:39 +08:00
Jeremy Hu
328f26429b
Optimize deform
...
see 3ff01306d0
2018-10-18 15:43:58 +08:00
Jeremy Hu
c06a23d52e
Fix build
2018-10-17 12:53:18 +08:00
Jeremy Hu
b2a77caffc
Fix build
2018-10-17 12:35:15 +08:00
Jeremy Hu
660e3d6a58
Fix fbx build
2018-10-17 11:59:21 +08:00
Jeremy Hu
0608e2af1c
Fix uv unwrapper
...
UV unwrapper may run into infinite loop if the parametrization failed with some infinite value.
2018-10-17 11:19:17 +08:00
Jeremy Hu
f0783e2a1e
Add fbx support (1/2)
...
Add dependencies for fbx format exporter.
2018-10-17 11:06:45 +08:00
Jeremy Hu
7fbdf6a8bd
Remove thekla_atlas
...
Now, we have our own automatic uv unwrapping library: simpleuv
thekla_atlas works good on good mesh, however, sometimes, it crashs and cann't handle bad cases very well.
2018-10-16 08:09:04 +08:00
Jeremy Hu
7fa29dcc48
Fix texture generation
2018-10-16 08:04:08 +08:00
Jeremy Hu
7e0591de6b
Fix build
2018-10-16 00:21:05 +08:00
Jeremy Hu
640b84b2f2
Fix build
2018-10-15 23:22:49 +08:00
Jeremy Hu
a4a734a67b
Repleace the uv unwrapping library with simpleuv
...
https://github.com/huxingyi/simpleuv
2018-10-15 23:02:31 +08:00
Jeremy Hu
a81a5daaca
Not generate texture by default
...
Because of thekla_atlas crash on some meshs, need improve or find a alternative for uv unwrap.
2018-10-11 16:03:23 +08:00
Jeremy Hu
4ea497caf8
Fix unnecessary mesh regeneration while locked
2018-10-11 10:49:44 +08:00
Jeremy Hu
4c6dc1594f
Fix texture cann't unselect
2018-10-11 10:40:35 +08:00
Jeremy Hu
1623d7d782
Update to the latest thekla_atlas
2018-10-11 08:56:09 +08:00
Jeremy Hu
a2770ecd8e
Change texture painter clip expand joint style to round from miter
2018-10-10 22:42:55 +08:00
Jeremy Hu
eeff771a3b
Optimize texture generating time
2018-10-09 21:01:04 +08:00
Jeremy Hu
5f2a46be9c
Avoid unnecessary mesh regeneration while only texture map changed
2018-10-09 17:17:44 +08:00
Jeremy Hu
73d20da08f
Make better result to seamless texture
...
Fix parts vertices' connectivity in the uv unwrapping code.
2018-10-09 15:05:20 +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
308bc48c54
Add author @anderejd from meshlite library
2018-10-05 23:58:00 +08:00
Jeremy Hu
7de9b61de7
Remove generated trivial seam triangles
2018-10-05 23:54:12 +08:00
Jeremy Hu
c2a54069f5
Thanks to @JoeyDeVries for his website https://learnopengl.com
2018-10-05 15:50:02 +08:00
Jeremy Hu
9c0da8f38f
Replace the render with PBR
...
In this commit, another PBR render, come from website: https://learnopengl.com/PBR , also included as shaders/pbr-joey.frag
2018-10-05 15:37:01 +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
5c25d7d4f8
Move shader from source code to separated folder
2018-10-03 13:52:35 +08:00
Jeremy Hu
997d9efd75
Fix build
2018-10-02 13:18:35 +08:00
Jeremy Hu
b02ffedb9d
Merge branch 'curveeditor'
2018-10-02 13:09:04 +08:00
Jeremy Hu
ee92472027
Add motion manager
...
Added motions tab, hermite curve editor, quaternion overshoot blend and so on.
2018-10-02 12:59:30 +08:00
Jeremy Hu
dbb23b9029
Rename library name meshlite to meshlite_ffi
2018-09-28 10:45:39 +08:00
Jeremy Hu
e2f44dded7
Fix normal interpolation on export
2018-09-23 11:34:35 +08:00
Jeremy Hu
d6b38f5750
Fix part cache not update when add new node
2018-09-23 10:41:47 +08:00
Jeremy Hu
2156855444
Add show if opengl core profile used in about widget
2018-09-23 09:02:08 +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
a419a0fb7a
Fix pose edit
2018-09-21 16:14:37 +08:00