Ideas & Problems

In this post I will continuously try to highlight potentialproblems with what I am trying to build/achieve/analyse


Equiangular Sampling

I should look a bit more at this. How applicable is it, how hard is it to implement?

Froxel Buffer relative alignement

Should I evaluate to what extent the two froxelbuffers’ alignment matter?
Is it smart to to the froxel lookup only once instead, OR is it even better to use the SAME datastructure for volumetrics?

Soft Shadows

Will usage of exponential shadows remove the need of gaussian blur passes? Not if we use dithering? It should still produce much less obvious artefacts since we reduce the maximum frequency in the shadow maps and thus avoid ray march aliasing.

Long Range Volumetrics

If the volumetric ray marching is performed within a fairly close range froxel buffer, how do we properly handle the long range case?

  • Can this be combined with the distance fog or atmospheric scattering?
  • Are there cascaded approaches?
  • An exponential depth slice distribution could solve this while keeping high detail in the close range?
  • Do one additional (assuming homogeneous?) ray marching step from the end of the froxel buffer?

update: Doing one additional ray marching step without sampling shadow maps or local lights worked very well. A detail though was that it worked better with the flycam than the player cam. Is this because the player cam has a very different frustum?

Extinction accumulation error

Can I prove that this error gets smaller with more steps, i.e can I use the ground truth as is?

Adaptive Cluster Stepsizes

Can you use heuristic to supersample when finding clusters with one or more local lights?
Just as the supersample technique where the amount of scattering is used as an heuristic, can we use the raw cluster information to do the same thing?

  • A problem with uniform/exponential view space is that a step can potentially skip a whole cluster.
  • Maybe just skip local lights if far away, or too large step sizes? Skip if current step size > cluster_depth?

Downsampling with lighting calculations per cluster

Is the fragment workload much less if lighting calculations have been made per cluster and then sampled in the ray marching step?

Depth for Ray marching to lower resolution accumulation buffer

Assuming we use the depth for the view space ray marching: when running the ray marching shader to a lower resolution render target, does it matter which depth is used?

The depth downsampling is done before this pass, so both the lowres and hires depth is available. Currently, I only sample the hires linear depth with point sampling, so it can be different to the corresponding depth value of the lowres depth buffer.

The low res is either max/min or checkered. Lets say that a pixel is sampled as max-distance in the point sampling for the ray marching, but the low res was sampled with a min-filter. This means the upsampling would potentially sample the closer depth and choose this pixel, but it was ray marched all the way to the max-depth that was sampled.

Yes this could be a problem => solution is to use the low res depth buffer when ray marching to a low res texture?

Tighter Raymarch bounds

It might be possible to do smarter raymarch bounds, similar to lords of the fallen where raymarching is performed per light in the deferred pipeline.

  • Do sun raymarching and local lights seperately
  • Cluster light bounds for local lights?
  • Polygon clamp local lights
  • Sun epipolar sampling
  •  Local Light volumetrics stencil mask?

What about deferred per light bounds vs clustered shading?


Is Ray Marching better than Shadow Volume methods?

It’s possible to render shadow volumes instead. I should mention this but focus the thesis specifically on ray marching approaches.


Can Ray Marching borrow techniques for Shadow Volume methods?

Again with the ray marching bounds.


Can Sun Blending be combined with shadow maps?

What did I mean here?


Am I looking at Fog or Unified Volumetric Lighting?

I am looking at unified volumetric rendering.


Local lights focus / clustered shading?

  • I want to keep Sun Ray marching in the thesis
  • I want to keep subsampling etc, which is not dependant on clustered shading
  • I want to keep clustered shading and local light volumetrics


Deep shadow maps?

Exponential shadow maps?

Variance shadow maps?

Compute Shader Implementations?