32
votes
Is Russian Roulette really the answer?
In order to understand Russian Roulette, let's look at a very basic backward path tracer:
...
25
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 ...
15
votes
Accepted
Why use a tent filter in path tracing?
The theoretical ideal antialiasing filter for discretely sampled data is a sinc filter, because it perfectly removes all frequencies higher than the Nyquist frequency, while leaving alone all the ...
12
votes
Is Russian Roulette really the answer?
Just to expand on some of the other answers, the proof that Russian Roulette does not give a biassed result is very simple.
Suppose that you have some random variable $F$ which is the sum of several ...
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
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 ...
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{...
11
votes
Accepted
Is it expected that a naive path tracer takes many, many samples to converge?
Without explicit light sampling, I'd expect very slow convergence.
Any path that doesn't happen to hit the light source before being terminated will be useless (contributes zero). Since you have a ...
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 ...
10
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 ...
9
votes
Is Russian Roulette really the answer?
The Russian roulette technique itself is a way of terminating paths without introducing systemic bias. The principle is fairly straightforward: if at a particular vertex you have a 10% chance of ...
8
votes
Accepted
Can a glass plate act like a lens?
The box.obj file has no vertex normals, and by default Mitsuba will generate smooth normals for OBJ files that don't specify their own normals. This creates the ...
8
votes
Accepted
Should direct illumination and path tracers render the same scene equally bright?
The results that you are getting, are not correct. More specifically, your direct illumination ray tracer is not correct.
When limiting a path tracer's bounces to only allow for any direct ...
7
votes
Spectral path tracing - image color/brightness incorrect
The problem lies mainly in CIE1931XYZ::tristimulusValues() function, where you normalize the resulting color to the luminance of your illuminant which causes that ...
7
votes
Accepted
Full Monte-Carlo Volumetric Scattering
First of all, a good reference for Monte Carlo path tracing in participating media is these course notes from Steve Marschner.
The way I like to think about volume scattering is that a photon ...
7
votes
Accepted
Choosing Reflection or Refraction in Path Tracing
TL;DR
Yes, you can do it like that, you just have to divide the result by the probability of choosing the direction.
Full Answer
The topic of sampling in path tracers allowing materials with both ...
7
votes
Accepted
Role of PDF of Uniform Random Sampling in a path tracer
Firstly, as @trichoplax correctly pointed out, your randomPoint function calculates a point in a cube, then uses rejection sampling to return all points that are inside a unit sphere. In order to ...
7
votes
Accepted
Proper way to handle diffuse + refraction + reflection rays in path tracing?
Let us take one step back.
When you do path tracing, you are doing a Monte Carlo integration.
What does this mean? You try to solve $\int f(x)\mathrm{d}x$ by sampling.
The Monte Carlo integration says ...
7
votes
Accepted
Path tracer - multi layered materials and importance sampling
Wenzel Jakob et al presented a framework for layered Materials at SIGGRAPH 2014. Section 6.2 explains importance sampling. If you prefer code over equations, the method is implemented in the Mitsuba ...
7
votes
Accepted
Caustics: methods to render?
First of all, you can get caustics just by Path Tracing. Caustics isn't a difficult phenomenon in computer graphics. Almost any global illumination algorithm can render it. It's just a matter of the ...
7
votes
Algorithms to Remove High Frequency Noise from Path Tracing
There are, and I am looking forward to seeing the specifics of other answers, but one way to deal with this is to not have the noise (or as much noise) in the source data to begin with.
The noise is ...
7
votes
Accepted
How can a diffused(frosted) glass be modelled in path tracing
Assuming that you are familiar with the concept of BSDFs, the usual way of modelling rough dielectric surfaces (i.e. glass, water, plastics) is to use microfacet-based models like Microfacet Models ...
7
votes
Importance sampling microfacet GGX
Through help from several people, & referencing and re-referencing the commented urls, I managed to get a sampling scheme with matching PDF that handles everything from perfect mirror surfaces to ...
7
votes
Accepted
Rendering equation in terms of paths rather than directions
This is a very good question. There is a common misconception that Monte Carlo, or integration is applied "recursively" on the rendering equation. That is not what's happening. Numerical integration ...
6
votes
Is it expected that a naive path tracer takes many, many samples to converge?
Yes, this is to be expected. The difference between your two images is the difference between using and not using importance sampling.
The first image shows noticeably more noise than the second. ...
6
votes
Path weight for direct light sampling
By "bounces by the BRDF", I assume you mean picking random directions in the hemisphere and weighting by the BRDF, then averaging over those samples. I guess you're accumulating one sample per frame, ...
6
votes
Accepted
Derivation of Wikipedia's path tracing diffuse BRDF
When you perform regular Monte Carlo integration over a hemisphere using $N$ samples, each sample represents $\frac{2\pi}{N}$ steradians. So the Monte Carlo integration for Lambertian BRDF is:
$$\...
6
votes
Importance Sampling of Environment Maps
This is not a full answer, I would just like to share the knowledge I obtained by studying two of the papers mentioned in the question: Steerable Importance Sampling and Practical Product Importance ...
6
votes
Accepted
Path tracer not rendering shadows
The problem appears to be unintentionally transparent surfaces
Although the image is grainy, it is sufficiently clear to estimate that all of the darker regions are due to surfaces facing away from ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
pathtracing × 197raytracing × 80
brdf × 31
monte-carlo × 29
global-illumination × 27
rendering × 25
importance-sampling × 22
sampling × 21
lighting × 15
physically-based × 15
pbr × 10
c++ × 8
shadow × 6
filtering × 6
specular × 6
material × 6
performance × 5
volumetric-scattering × 5
transformations × 4
mathematics × 4
hlsl × 4
volumetric × 4
3d × 3
gpu × 3
antialiasing × 3