[x3d-public] HAnim skinning on GPU

Andreas Plesch andreasplesch at gmail.com
Sat Jan 5 10:51:46 PST 2019


This is just an announcement that HAnim skinning using the GPU for the
vertex deformation may be coming to X3dom relatively soon.

with GPU:
https://raw.githack.com/x3dom/x3dom/87110f853ccf1d9b5784c7a4dcd743c98e45d166/test/functional/hanim/RiggedSimple.html

without GPU:
https://raw.githack.com/andreasplesch/Library/gh-pages/Models/HAnim/glTF/RiggedSimple.html

The shader has performance benefits for larger models with a lot of faces
and does correct normals adjustments which fixes lighting for the models.

The implementation collects joint transformations for each vertex as a
vertex shader uniform has to have data for all vertices. The collection
only has to happen initially (and when joint index / weight field values
would change). Vertices not affected by skinning get zero weights for all
joints. This will be compatible with glTF skinning and perhaps the shader
and infrastructure can be reused for that.

Here is the kicker times three:
https://raw.githack.com/x3dom/x3dom/87110f853ccf1d9b5784c7a4dcd743c98e45d166/test/functional/hanim/JoeSkinTexcoordDisplacerKickTest.html

Todo items include using floating point texture for joint trafo upload
rather than a mat4 array as is recommended for large uploads (there may be
hundreds of matrices), and perhaps also moving displacer deformation also
to the shader.

-Andreas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190105/42e641b6/attachment.html>


More information about the x3d-public mailing list