demalion said:Even simple delta compression (from zbuffer pixel to zbuffer pixel) would guarantee some compression of a scene that was generated of multipixel polygons. Then there are other schemes that might come into the picture.
Just a quick addition -
This method is implicitly lossy (see ADPCM) unless your format allows for the fact that you can provide a working set that will generate a _larger_ z-buffer than simply storing the information uncompressed.
You have to take into account the possibility that the data fluctuates from extreme to extreme, and since the delta is the maximum representable size you need extra bits to mark the blocks where this occurs. If it happens in a large enough proportion of blocks then the compressed data will naturally be bigger than the input data. Of course this extreme case is monstrously unlikely, but we're looking for guarantees here, and unlike audio ADPCM where the artifacts are minor, Z buffer artifacts caused by incorrectly coded data would be horrendously visible.
- Andy.