UPBGE / upbge

UPBGE, the best integrated game engine in Blender
https://upbge.org
Other
1.45k stars 180 forks source link

Upbge 0.3.0 - GPU armature skinning #1058

Closed BluePrintRandom closed 4 years ago

BluePrintRandom commented 5 years ago

Currently our skinning method is not very fast -

For AAA quality actors we will need something faster than blender built in armature deform.

for inspiration from armoury or direct port

https://github.com/armory3d/armory/blob/4ecec19ad3acd5f2e77b033c313b2eef47c4ae4a/blender/arm/material/make_skin.py

https://github.com/armory3d/armory/blob/3239c985943252bcb0680d29f14d966124c090d3/Shaders/std/skinning.glsl

BluePrintRandom commented 4 years ago

https://github.com/UPBGE/upbge/tree/upbge0.3-hard-skinning

Liebranca commented 4 years ago

i can try out a gpgpu mambo in opengl through transform feedback.

advantage: no need for the rasterizer to get involved early on way it does in some attempts ive seen. and then the code can be reused for different operations further down the road.

con: it means managing some additional buffer objects so mandatory rerun of an init block if the base mesh is modified or monkeyed with. but who adds a loop to a skinned mesh anyhoo.

if someone can explain to me how im supposed to slap a new lib into the solution then great. im terrible at writting cmakelists.

lordloki commented 4 years ago

Here you can see an example of library spindle added to intern directory: https://github.com/UPBGE/upbge/commit/adc26b29d0aabdb982a4a4d16607c7dea6b35cf0#diff-4a69625a7f0a11cc34b285178af671a0

lordloki commented 4 years ago

If you want, I can give you upbge/github access to do the work in a branch. This way i can help you easy with CMakeLists or whatever

Liebranca commented 4 years ago

that clears it up, thank you.

im already working on an unpublished repo cloned from ge_23a_old_bullet branch, and since im going to experiment heavily i feel more comfortable keeping it separate. but thanks for the offer.

lordloki commented 4 years ago

Closing the issue following the new UPBGE tracker rules but keep open the feature to check later.