4 hours ago, dpadam450 said:
but how are they used/rendered? Are the cubes rendered?
They are not rendered directly for the given usecase, they are only used to calculate shadows and ambient occlusion.
Edit: Epic uses multiple volumes - i do not know if they render each as a box to launch pixel shaders, or if they use a fullscreen quad and loop over all volumes intersecting given pixel or tile.
4 hours ago, dpadam450 said:
How/when/where does a shader evaluate them.
There are some images of the ray marching ('sphere tracing') process, look at them.
While tracing, at any point in the volume you know the closest distance to the surface (but not any direction where this surface is).
You can then safely advance the ray with that distance (illustrated as a circle / sphere at the current ray position), and after that you read again the distance at the new ray position.
That's the whole idea it is about. So it's basically ray tracing, but instead using a tree it uses the distance field for acceleration.
4 hours ago, dpadam450 said:
Is it a fullscreen shader?
Yes, usually. Look at shadertoy for many examples, where it is mostly used for rendering directly. It is shown how to accumulate AO or how to calculate normals. Demo coder 'iq' is famous for his work on this, he has tutorials / introductions as well somewhere. Edit: http://iquilezles.org/www/articles/raymarchingdf/raymarchingdf.htm
Edit2: ...that's it with basics like OA explained: http://iquilezles.org/www/material/nvscene2008/rwwtt.pdf