Nicholas Frechette
Nicholas Frechette
As discussed [here](http://nfrechette.github.io/2022/01/23/anim_compression_bind_pose_stripping/), because ACL cannot modify the raw data, some small amount of error is introduced when constant sub-tracks are folded into a single sample and when that sample...
Instead of always dropping the W component, we should attempt to drop the largest component and store 2 bits somewhere to remember which component is dropped. This should improve accuracy...
Various functions currently return an error_result with an optional error string. This is readable and nice in the debugger but it is unfortunately not very friendly for a few reasons....
Frame stripping is currently only implemented at the database level. But, we could also support it per clip very easily. We should expose a new flag in the compression settings...
By controlling how many bit rates we attempt, we can control how long compression takes and how small the memory footprint will be. Once we have the full quaternion variable...
Currently, the compression error is measured in object space, see [here](https://nfrechette.github.io/2016/11/01/anim_compression_accuracy/). This is great and it helps approximate the skinning process. However, it fails to take into account that ultimately,...
Currently the compression error is evaluated at 3 points on the surface of a sphere centered on the animated joint. See [here](https://nfrechette.github.io/2016/11/01/anim_compression_accuracy/). While this works fine and it is simple...
When we detect if a constant track is constant, we test against the identity. If we are within the desired threshold, we are considered default but we do not overwrite...
The compression level has been introduced some time ago to allow the game engine to control how much time should be spent trying to optimize. When a clip contains a...
For debugging purposes, when we free memory we should write a pattern 0xFE to it to easily identify it and help track issues.