Realtime Dynamic GI + Reflections + AO + Emissive - AHR

The “gather” part is the problem. Loading the data from the memory (aka sampling the voxels) is what takes most of the time, and even if you change the shape of the sampling, you still need to load the data at some point. Sadly it doesn’t work like you said, or maybe I’m misinterpreting you.

BTW, the forums seems to have unsubscribed my from the thread for some reason. **** computers
I just wanted to say I’m still working on , and I’m getting there, but I’m about to start the exams period at college and that goes until 20 of December, give or take a few days, so progress will be slow for a while.

Oh BTW, I wanted to talk a bit about memory usage.
For a single 512x512x512 voxel grid, wich is what I’m using now, the memory usage is 16 MB. To that you need to add the memory of a RSM per light, but that’s not usually taken into account when talking about voxel-based GI algorithms, so I think it’s ok to talk about just 16 MB of memory usage.
That’s not taking into account emissive materials.
A quick breakdown will be like :

  • Just AO : Only the Binary Voxel Grid, so 512512512*4/32 bytes = 16 MB
  • AO + GI: Binary Voxel Grid : 16 MB + RSM ( Depth + 32 bits per pixel buffer). About 32 MB on my demo, so looking at 48 MB total
  • AO + GI + 16 Emissive materials : 16 MB + RSM + 512512512*4/8 = 64 MB. So a total of 112 MB
  • AO + GI + 256 Emissive materials : 16 MB + RSM + 512512512*4/4 = 128 MB. A total of 176 MB

When I implement cascaded voxel grids, the memory will probably be kept at the same 16 MB, maybe 32 MB in the worst case