nfrechette / acl-gltf Goto Github PK
View Code? Open in Web Editor NEWAnimation Compression Library glTF toolkit
License: MIT License
Animation Compression Library glTF toolkit
License: MIT License
Once RTM and ACL support Slerp, we should use it. glTF supports sparse samples which doesn't work too well with Lerp for rotations.
We need a tool that we can point to a directory that contains glTF files and an output directory with temporary data.
It should iterate over the input glTF files and convert them to ACL.
It should iterate over the glTF ACL files and convert them back to glTF.
Both both sets of files, we need to compare against the raw input and measure the error to make sure it remains within the expected bounds.
A python script can drive the packing/unpacking in parallel as well as evaluating the error.
A C++ error diff tool needs to be written to take one raw glTF file and another glTF file with either ordinary animation data or ACL data to measure the error against the reference raw file. It should accept an error threshold to trigger failure with an exit code of 1. It should output in stdout some stats like: max error, at what time, and which transform.
We will also regression test against older formats to ensure backwards compatibility is maintained as well as round tripping.
Documentation on how to run the tool needs to be added.
When --decompress
is used, a glTF file with ACL data can be converted to a normal glTF file without ACL. Similarly, if the file contains no ACL data, we should copy to the output as-is.
When in diff mode, the tool should accept two input files and it will calculate the diff between them. Both files can contain ACL animation data or not and of any supported version.
We need to output the largest difference between the two, at what time in the animation, and which transform (index and/or name).
Make sure we properly support unicode paths.
Add a regression test.
Long paths require a \\?\
prefix to work.
Make sure we have a regression test for it.
Only linear interpolation is currently supported but we need to support cubic/step as well.
Blend weights are often animated with scalar tracks.
ACL can support this as well.
We should be able to take a raw glTF file and compress it with ACL with a --compress
switch.
A glTF file that already contains ACL data should do nothing and copy to output as-is with --compress
.
Older OS X versions come with Python 2.7. It is easier to support it for now than force a dependency on python 3 for travis.
Bones are not always sorted parent first, we need to explicitly sort them.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.