News for hackers. Stuff that matters.
Re:Ray tracing Voxels made out of Glass by dahart on Sunday October 23, 2022 @08:38PM (#33311742)
I’m not sure the linked app is ray tracing voxels per se, but can confirm the active bitmask and Morton tricks work really well. I’ve actually just built a renderer with some co-workers that does both of these things. We have not used the trick you show of stepping without de-interleaving Morton, that is very clever! I’m going to try it and see if it speeds things up.

BTW, on the GPU Morton is handy and convenient but not the absolute fastest. You can do simple tiling and get all the cache benefits in fewer instructions. It’s kind-of like one single Morton interleave step, say, for example, interleave the bottom 3 bits and then the top 7 bits. (But note you can’t blindly interleave any number of top bits anymore, it needs to be the exact number of bits you’re using, or a row-major indexing calculation using a multiply instead of bit shifting.)

Re:Ray tracing Voxels made out of Glass by bugfix-66 on Sunday October 23, 2022 @09:05PM (#33311903)
The fix for the noncontiguous addition puzzle is to change

  filled = to & mask
to

  filled = to | ^mask
In other words, to OR in 1-bits so the carry can travel across the irrelevant part of the register.

Subtraction is similar:

https://bugfix-66.com/adbc40fa7c8c838d8d34bcd35525313dc91dea...

But for subtraction you want to AND in 0-bits so the borrow can travel.