Your thoughts on and comments to Volume Rendering in Unreal Engine 4.

That should work. You are basically talking about flipping the shadow volume behavior. The one downside to that method is it will require another large render target to store the density slices. It will have to be the same size as the original volume texture to avoid losing resolution. Also you would require a separate sliced volume texture for each instance in the world so it wouldn’t be as flexible as regular ray marching. But the good news is you will be able to compute the shadows in parallel instead of as nested steps and it should avoid the shadow volume edge bleeding artifacts.

Layering your slices will bring back some of the cost as overdraw so it is hard to predict exactly how that might perform compared to regular ray marching. It won’t be as fast as half angle slicing though because it is still not sharing the shadow samples between slices which means that the deeper samples will cost more than the ones near the edge of the volume, and there is more re-peat steps being taken.

I think shadow volumes will be a bit easier to start with so I may try an experiment with them soon. Basically you just precompute the light energy received for each voxel which is costly once, but from then on its just single sample reads to get it.