48
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 ...
37
votes
Accepted
Why does monte carlo ray tracing perform better than distributed ray tracing?
The term "distributed ray tracing" was originally coined by Robert Cook in this 1984 paper. His observation was that in order to perform anti-aliasing in a ray-tracer, the renderer needs to perform ...
27
votes
Accepted
Progressive Path Tracing with Explicit Light Sampling
There are multiple areas in path tracing that can be importance sampled. In addition, each of those areas can also use Multiple Importance Sampling, first proposed in Veach and Guibas's 1995 paper. To ...
24
votes
Accepted
Why is recursion forbidden in OpenCL?
It's essentially because not all GPUs can support function calls—and even if they can, function calls may be quite slow or have limitations such as a very small stack depth.
Shader code and GPU ...
19
votes
Accepted
Cause of shadow acne
Image 1: A bad case of shadow acne. (Synthetic and a bit exaggerated)
Shadow acne is caused by the discrete nature of the shadow map. A shadow map is composed of samples, a surface is continuous. ...
19
votes
Accepted
Difference between BVH and Octree/K-d trees
Well I researched quite a lot after that and this paper helped a lot.
"Space Subdivision algorithms" by Macdonald 1988.
So just summing what I understood. Some of them are obvious reasons but after ...
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 ...
16
votes
Accepted
How are volumetric effects handled in raytracing?
Overview
The appearance of volumes (also called participating media) in nature is caused by tiny particles, such as dust, water droplets or plankton, that are suspended in the surrounding fluid, such ...
16
votes
Accepted
Raytracing: why are the spheres in the image below appear stretched?
Shapes appearing stretched in the periphery is a consequence of perspective projection. The wider the field of view (FOV) is, the stronger the stretching effect gets.
To demonstrate the effect I ...
15
votes
Accepted
Radiosity VS Ray tracing
Radiosity does not account for specular reflections (i.e. it only handles diffuse reflections). Whitted's ray-tracing only considers glossy or diffuse reflection, possibly mirror-reflected. And ...
15
votes
Accepted
How to raytrace Bezier surfaces?
First off, here's the Kajiya method I think you're thinking of: Kajiya, Ray Tracing Parametric Patches, SIGGRAPH 82. The tech report version might be more informative.
What I hope you get from that ...
15
votes
Rendering equation - why unsolvable directly?
I'm sadly not able to add a comment to the answer above (not enough reputation), so I will do it like this.
I'd like to point out that what Dragonseel describes is simply an integral equation (...
15
votes
Path tracing the Cook-Torrance BRDF
I am posting this for anyone wondering about the confusion between the terms $\frac{1}{\pi}$ and $\frac{1}{4}$.
The term $\frac{1}{\pi}$ is an error from the original Cook-Torrance reference.
In ...
14
votes
Accepted
How to build a decent lens/camera objective model for path tracing?
The next step up from a pinhole camera model is a thin lens model, where we model the lens as being an infinitely thin disc. This is still an idealization that pretty far from modeling a real camera, ...
14
votes
Subpixel Rendering for a Ray Tracer
This is perfectly possible
Although the difference may not especially noticeable, I would expect sampling taking into account the exact pixel geometry to give a slightly more accurate image. You just ...
14
votes
How is Anti Aliasing Implemented in Ray Tracing?
Raxvan is completely right that "traditional" anti aliasing techniques will work in raytracing, including those that use information such as depth to do antialiasing. You could even do temporal anti ...
13
votes
Accepted
How can I raytrace a scene that does not fit into memory?
If the scene does not entirely fit into memory, you are entering the field of out-of-core rendering. There are essentially two approaches here: a) Generate your scene on-demand b) Load your scene on-...
13
votes
Rendering equation - why unsolvable directly?
The rendering equation is as follows:
Now, the integral is over the sphere around the point $x$.
You integrate over some attenuated light, incoming from every direction.
But how much light comes in? ...
13
votes
Accepted
How is Anti Aliasing Implemented in Ray Tracing?
I think it's safe to say that there are two different ways of doing AA in raytracing:
1: if you have the final image and the depth image it is possible to apply almost all existing techniques that ...
12
votes
What is the difference between importance sampling and mutiple importance sampling?
When shading a point on an opaque surface, you need to gather incoming light and weight it with the bidirectional reflectance distribution function (BRDF) of the material.
The naive approach is to ...
12
votes
Accepted
What's the current state-of-the-art algorithm for ray-tracing height-fields?
For the current state-of-the-art, look for this paper:
"Maximum Mipmaps for Fast, Accurate, and Scalable Dynamic Height Field
Rendering", Tevs et al. 2008
The basic idea is to skip a lot of space by ...
12
votes
Accepted
Anti-aliasing / Filtering in Ray Tracing
There is a great paper from 2006 on this topic, Filter Importance Sampling. They propose your method 2, study the properties, and come out generally in favor of it. They claim that this method gives ...
12
votes
Accepted
Path tracing the Cook-Torrance BRDF
According to this paper, the $\frac{1}{\pi}$ in your $f_r$ should be $\frac{1}{4}$:
$$
f_r = \frac{DFG}{4(n\cdot w_i)(n \cdot w_o)},
$$
so you would end up with
$$
\frac{\pi}{2}L_i(p,w_k)\left(\frac{...
12
votes
Accepted
Mirror Reflections: Ray Tracing or Rasterisation?
There are a couple of special cases where mirror-like reflections can be rendered efficiently using rasterization techniques, and these are commonly used in games, although they don't work for the ...
12
votes
Accepted
Does cosine weighted hemisphere sampling still require NdotL when calculating contribution for indirect light?
You always need to multiply by the cosine term indeed (that's part of the rendering equation). Though when you do indirect diffuse using ray-tracing and thus monte-carol integration (which is the most ...
12
votes
Accepted
How am I able to perform perspective projection without a near plane?
The near and far planes of a viewing frustum aren't needed for simple 3D→2D projection. What the near and far planes actually do, in a typical rasterizer setup, is define the range of values for the ...
12
votes
Accepted
A recent approach for subsurface scattering
As mentioned in the comments, I would highly suggest starting with Full Volumetric Scattering. This is two fold:
Since you are doing path tracing, adding volumetrics isn't super difficult.
Fully ...
11
votes
Accepted
Non Real Time Raytracing
Path tracing is the standard technique in non-realtime photorealistic rendering, and you should look specifically into bidirectional path tracing to get effects like caustics, which you can't really ...
11
votes
Accepted
What effects does path tracing capture that recursive ray tracing does not?
Generally speaking, path tracing removes a number of assumptions that ray tracing makes. Ray tracing usually assumes that there is no indirect lighting (or that indirect lighting can be approximated ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
raytracing × 432pathtracing × 86
rendering × 52
c++ × 41
lighting × 30
global-illumination × 30
monte-carlo × 28
brdf × 27
physically-based × 25
sampling × 19
transformations × 17
importance-sampling × 17
3d × 16
mathematics × 16
opengl × 15
ray × 14
shadow × 13
glsl × 12
pbr × 12
reflection × 12
geometry × 11
shader × 10
algorithm × 10
hlsl × 10
color × 9