I have some old code that I'll dig out. It worked really well, but at the time I supported a single grid per scene. This time I'll make it a primitive so I can have many.
I was using it for weird renders like this. The packing is pretty efficient: as low as 1bit per cell, or 0 if not precomputed.