3D Object Animation Enhancements
PROJECT
Part of: Construct Community
Fiscal Host: Open Collective Europe
Improve the performance of animations of the 3D Object addon
Budget
Transparent and open finances.
-€430.00 EUR
Paid
Invoice #224504
-€750.00 EUR
Paid
Invoice #216686
+€286.90EUR
Completed
Contribution #785223
€
Today’s balance€17.01 EUR
Total raised
€1,250.00 EUR
Total disbursed
€1,232.99 EUR
Estimated annual budget
€1,338.46 EUR
About
Thanks for the contributions so far, we are now between Phase 2 and 3 in development. The latest version is available here:
https://kindeyegames.itch.io/c3-3dobject-alpha/devlog/783122/gpu-skinning-fixes-and-guidelines
Contributor perks: early release versions of the enhanced addon, before the public release after full development.
Create GPU based animation for skinning and rotation, translate, scaling animation. This take almost all of the CPU related performance and puts it where it - belongs in the GPU vertex shader. This greatly improves the CPU animation performance with a small impact on GPU performance.
Once fully funded, the updated addon will be added to main branch of the public repo and available on the free itch page.
I have found on old 2017 iMac, I can get at least 10M triangle/frame, animating at 20fps with a 60Hz refresh rate and has more headroom beyond this. This is with a nice complex model. Without GPU Skinning the same scene refreshes at 2-3fps. I have also seen a nice level of improvement on iOS and Android mobile.
For static geometry, I have already done development to improve static geometry rendering by storing the geometry data on the GPU.
The bulk of this work is all done with direct webgl calls, which does not rely on C3 SDK (V1 or V2) or C3 engine internals. There is one change which requires a change to the default C3 vertex shader, but in later phases, I look to replace that, with my own shader, so that is no longer required.
Phases based on funding:
Phase 1, +$500 - base funding
https://kindeyegames.itch.io/c3-3dobject-alpha/devlog/783122/gpu-skinning-fixes-and-guidelines
Contributor perks: early release versions of the enhanced addon, before the public release after full development.
Create GPU based animation for skinning and rotation, translate, scaling animation. This take almost all of the CPU related performance and puts it where it - belongs in the GPU vertex shader. This greatly improves the CPU animation performance with a small impact on GPU performance.
Once fully funded, the updated addon will be added to main branch of the public repo and available on the free itch page.
I have found on old 2017 iMac, I can get at least 10M triangle/frame, animating at 20fps with a 60Hz refresh rate and has more headroom beyond this. This is with a nice complex model. Without GPU Skinning the same scene refreshes at 2-3fps. I have also seen a nice level of improvement on iOS and Android mobile.
For static geometry, I have already done development to improve static geometry rendering by storing the geometry data on the GPU.
The bulk of this work is all done with direct webgl calls, which does not rely on C3 SDK (V1 or V2) or C3 engine internals. There is one change which requires a change to the default C3 vertex shader, but in later phases, I look to replace that, with my own shader, so that is no longer required.
Phases based on funding:
Phase 1, +$500 - base funding
- Release current version of enhanced 3DObject to contributors
- Requires main.js to update C3 default vertex shader
Phase 2, +$250 - use new vertex shader
- Do not require main.js and hacking of the default C3 vertex shader to support GPU skinning
Phase 3, +$250 - reuse vertex data for instances and public release
- Add support for reusing object vertex data for instances of the same object, saving GPU memory for each instance
- Make enhanced addon public on itch.io and added to the main 3DObject repo.
Phase 4, +$250 - updated tutorial video
- Fund a video from Foozle showing how to use the latest 3DObject with some more advanced C3 3D Physics features. Foozle does great work with C3 video tutorials.
Our team
Contribute
Become a financial contributor.
Financial Contributions
One-time contribution
Platinum level
Platinum level, name added to github repo at platinum level, early versions release. Can also request feature for 3DObject, feel free to DM on Cons... Read more
€250 EUR
3D Object Animation Enhancements is all of us
Our contributors 8
Thank you for supporting 3D Object Animation Enhancements.
Kind Eye Games
Admin
Construct Com...
€505 EUR
Ossama Jouini
Adamantium level
€500 EUR
PM
€228 EUR
Linus | Froze...
Silver level
€50 EUR
Kevin Galiano
Bronze level
€25 EUR
Federico Calc...
€20 EUR
Hayo
€10 EUR