47 votes
Accepted

What is Ray Marching? Is Sphere Tracing the same thing?

TL;DR They belong to the same family of solvers, where sphere tracing is one method of ray marching, which is the family name. Raymarching a definition Raymarching is a technique a bit like ...
user avatar
  • 8,169
18 votes

What is Ray Marching? Is Sphere Tracing the same thing?

Ray marching is an iterative ray intersection test in which you step along a ray and test for intersections, normally used to find intersections with solid geometry, where inside/outside tests are ...
user avatar
  • 639
7 votes

Is there a method to do ray marching style modulus repeat with raytracing?

I've tried to figure this out as well, but I don't think there is a solution that is just as performant as tracing one sphere. Basically you would want to cast one ray to hit a infinite set of ...
user avatar
6 votes
Accepted

Volumetric integration in Frostbite

What is wrong with it seems to be explained on the next two slides: it leads to non-energy-conserving results, where the apparent brightness of the volume changes depending on the scattering ...
user avatar
  • 23.6k
5 votes
Accepted

Volume Rendering (Path Tracing & Real-Time)

Ray marching is a ray tracing method where you take multiple steps along a ray to find intersection with geometry or to perform integration of in-scattered light from participating media (fog, clouds, ...
user avatar
  • 3,556
4 votes

Ray-based rendering terms

Forward ray-tracing means that rays starts from the light source and are traced towards the eye (light-surface-eye), this is a highly inefficient but accurate method. Reverse raytracing is simply ...
user avatar
  • 451
4 votes
Accepted

How to align Ray Marching on top of traditional 3D rasterization?

The problem, I think, is that you are comparing two different kinds of depth values. For want of better terms, the rasterizer's depth buffer stores 'parallel' depth, whereas raymarching calculates '...
user avatar
  • 2,302
3 votes
Accepted

How to compute normal of surface from implicit equation for ray-marching?

The usual way of doing this with raymarching is to define your surface as a signed-distance field and use finite differences to get the gradient of the distance function at the point you’re sampling. ...
user avatar
3 votes
Accepted

Ray Tracing With Continuous Refraction

You can refer to the available literature on the topic. The papers I am aware of are: Ray Tracing in Non-Constant Media and Interactive Rendering of Non-Constant, Refractive Media Using the Ray ...
user avatar
  • 1,838
3 votes
Accepted

Is there a better, more elegant way of translating/rotating my camera in my 3d raymarched world or am I stuck with trigonometry?

A reliable way of getting the forward/left directions relative to the view is to use the camera rotation matrix itself to produce forward, Up and right vectors. ...
user avatar
  • 2,244
3 votes

How can I convert signed distance field to a mesh?

with CGAL you can generate mesh by implicit function. https://doc.cgal.org/latest/Mesh_3/index.html Search for "implicit". There is an example of generating meshes from the funciton of a sphere.
user avatar
3 votes
Accepted

Rendering a particle system as a smooth blob

For culling faraway particles: as lightxbulb said, the keyword to search for is "acceleration structure". There are a variety of options: BVH, octree, kd-tree, uniform grid, or some ...
user avatar
  • 23.6k
2 votes
Accepted

mapping 3d texture on view frustum (or part of it)

In techniques I've seen that use a frustum-aligned voxel grid (so-called "froxels"), it looks like option 2 in your diagram. The voxels are cuboids in post-projective screen space, so when transformed ...
user avatar
  • 23.6k
2 votes
Accepted

Why does UV tiling affect performance in volumetric ray marching?

It sounds like you are experiencing a loss of texture cache hit rate on your 3D texture. As with any modern processor, GPUs have a cache hierarchy. Texture units typically read from a local L1 cache, ...
user avatar
  • 23.6k
1 vote
Accepted

SSR/RTLR - hitting object/ending condition

The termination condition is that the ray passes through the surface represented in the depth buffer. To track this, you have to calculate the z position of the ray at the current step, and compare it ...
user avatar
  • 23.6k
1 vote
Accepted

understanding SDF[Signed Distance Functions] for a torus

This turned into a rabbit hole for me hopefully it helps answer your question, I recommend trying out the various functions on the ShaderToy website. Just drop them in and change the call to "...
user avatar
  • 2,115
1 vote

understanding SDF[Signed Distance Functions] for a torus

The following video discusses the SDFs of various primitives (linked to torus section): https://youtu.be/Ff0jJyyiVyw?t=491 It discusses a torus but not the capped variant. The rest of the channel has ...
user avatar
  • 113
1 vote
Accepted

Reading thesis on cone tracing, did the author make a mistake?

It’s kind of inaccurately stated—by comparing the SDF with a linearly increasing radius, the shape that’s being traced out is a cone with a hemisphere on the end, something like this: At any point ...
user avatar
1 vote

How can I convert signed distance field to a mesh?

After many research I figured out how it works: he defined three buffer in glsl and i get 3 sampler2D for multipass, in each fbo attachments. the params are (buffer : file : id) file is the targeted ...
user avatar
1 vote

Parallax/relief mapping with gl_FragDepth and conservative depth

Unfortunately, gl_FragDepth won't enable you to write outside of the rasterized triangle's screen-space bounds. All it enables is to modify the values written to ...
user avatar
  • 23.6k
1 vote

Is there a method to do ray marching style modulus repeat with raytracing?

If you want to warp the space as in the raymarching infinite spheres example, ...
user avatar
  • 111
1 vote

Frustum aligned volume integration - aliasing issue - temporal reprojection

You can look into alias-free volumetric sampling algorithm by Huw Bowles for potential solution to the ray marching aliasing issues. The basic idea is to snap your samples to planes based on the ray ...
user avatar
  • 3,556

Only top scored, non community-wiki answers of a minimum length are eligible