Wednesday, September 2, 2009 at 11:21 PM |  
I've finally fixed the problem with my float compression. Just to note, the compression technique is following the IEEE standard somewhat. I forgot to deal with normalized values (-127 exponent) which made the compressor generate garbage.

If anybody is interested on how I compress, just have a look at how halffloat(16bit float) is stored. I'm pretty much using similar technique. Basically discarding some precision on the fractions and shifting exponent bias for more floating point precision at smaller values. (Note that I'm making it very specialized for delta type compression; meaning the closer the value is to zero, the more precise, the bigger the value, less precise.)

Aside from this, I found out that the compression worked really well even for important objects like player controlled entities and camera. Thanks to Glenn's article describing exponential smoothing, as long as I don't snap when compared values are very close, things worked very smoothly.

I'm very happy with the result thus far :) Next up is actual multiplayer race! Woo hoo!
Posted by Lf3T-Hn4D


Post a Comment

Liquid Rock Games and Project Aftershock. All Rights Reserved.