ultrapacker 0.1.0

Ultrapacker implementation in Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# Ultrapacker

Bitpack a sequence of integers more efficiently by combining groups of them together into bundles.

# Why?

While working on some vertex compression I was trying to figure out how you could use the wasted space
that was still present even with bitpacking. For example if I need a value between 0-18, I need 5 bits to
represent this, but I'm not using the values from 19-32. I figured out that combining multiple values 
allows you to save bits by changing the range. Which is kind of similar to linearizing an multidimensional 
array: x + y * 18 + z * 18 * 18 gives you a range of 0-5832, which only requires 13 bits.

Later I found this: `https://save-buffer.github.io/ultrapack.html`
Which is basically an abstraction of that concept.