GridVids
Sign in with YouTube

Ray Traced Voxel LOD Experiment

Jed037 Jul 30, 2026 17:41
Create an account to hide videos, mark them watched, or save them to Don't Miss.
Don't Miss
Create an account to hide videos, mark them watched, or save them to Don't Miss.
Mark watched
Create an account to hide videos, mark them watched, or save them to Don't Miss.
Hide
Open in popup Open on YouTube
Share video

Share video

Copy the GridVids link or iframe code.

Video link
Iframe code
Iframe content

Current OBS encoder settings are not the best. Gotta fix that. Voxel ""LOD"" is emulated by exiting the ray-tracing intersection loop earlier depending on distance to nodes. This can be adapted to handle streaming voxel worlds instead, and loading higher-resolution / children nodes dynamically at runtime. Currently this loads the entire tree structure into GPU memory, which is 0.5GB in size. compressed file size is 70MB, so there's a lot of redundant data in the GPU format / representation. Tried getting shadows to work, but that gave suboptimal results due to self-shadowing when starting the shadow ray from further LODs. Can easily be alleviated by adding an LOD offset for shadow rays but I was too lazy to implement that. The noise between LOD levels is intentional. It helps hide away the transition between the two. Ideally this would be based off of a Bayer matrix but for now it's just a hash offset from ray direction. Performance is meh. For the amount of voxels that are being ray-traced (map size of 16kM^3), this is not bad, but the ray-tracing implementation can definitely be faster. Plenty of factors can affect the performance negatively but I think the main one currently is the way I am recursively going down the tree for 3DDDA. Something like SDF sphere-tracing could get you to the result in a fraction of the time, but that comes with its own set of caveats. I looked at AMD RGP (profiler) to check if this was a cache bottleneck, and L0,L1,L2 caches had decent hit ratios. Unsure if that's the issue or not. It could also be the case that the GPU is already saturated with work and that the traversal algorithm simply isn't well suited for GPUs. Plausible. Ideally this would be quite a bit faster so that we can execute shadow rays + reflection / refraction rays + ao rays all in the same frame.
Science & Technology