Nicholas Frechette

Results 101 issues of 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...

enhancement

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...

research

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....

enhancement
debt

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...

enhancement

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...

enhancement

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,...

enhancement
research

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...

enhancement
research

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...

bug

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...

enhancement

For debugging purposes, when we free memory we should write a pattern 0xFE to it to easily identify it and help track issues.

enhancement
help wanted