You can use an O(n) radix sort on the Z-values because IEEE-754 floats share the integer property that leftmost bits always have higher values than rightward ones.
Oh that just made it click in my head why they would do it as sign, exponent, mantissa and not sign, mantissa, exponent. I mean yes I've been taught it's for sorting purposes, but this really helped it fit better. Thanks!
Thanks man, I'll look into it when I have the time. This should work on all IEEE compliant systems right?
Yes, but... "leftmost" in this case means MSB-sidemost, so little-endian systems will start sorting from the MSB only after loading the full value in a register; if you try sorting directly from memory in binary chunks smaller than the float size, first locate where the MSB is stored.
His do I save a comment?
Holy shit
I made a pact with myself in 2005 or so that I would never sort triangles by hand ever again. Since then I have been using higher level APIs and I have not regretted it.
All my homies use dual depth peeling
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics