https://bugfix-66.com/e2d9aaf5b7f285b4d35c46e87fcf6f7e25d338...
You can then cast rays through 3D space mapped onto 1D space, with one ray per GPU thread.
The space-filling curve gives you locality of reference (just like an octree), and the simple linear nature of the data means you can use a sparse bit vector to represent it. Huge regions without voxels are represented implicitly:
https://bugfix-66.com/7256e0772dc3b02d72abf15b171731c933fd44...
Of course, you want a much larger branching factor (to get a shallower tree) for rendering.
You can step your ray through the space without deinterleaving the bits, like this:
https://bugfix-66.com/d6907b4d3eb6330241128ffbaeef6194ddeecc...
This technique allows extremely detailed (and real-time editable!) voxel worlds with tiny code.