32 votes

Is Russian Roulette really the answer?

In order to understand Russian Roulette, let's look at a very basic backward path tracer: ...
user avatar
  • 3,552
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 ...
user avatar
  • 3,552
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 ...
user avatar
  • 23.7k
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 ...
user avatar
  • 761
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 ...
user avatar
  • 23.7k
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 ...
user avatar
  • 516
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{...
user avatar
  • 312
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 ...
user avatar
  • 23.7k
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 ...
user avatar
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 ...
user avatar
  • 3,552
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 ...
user avatar
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 ...
user avatar
  • 23.7k
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 ...
user avatar
  • 1,575
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 ...
user avatar
  • 1,377
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 ...
user avatar
  • 23.7k
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 ...
user avatar
  • 1,377
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 ...
user avatar
  • 3,552
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 ...
user avatar
  • 1,750
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 ...
user avatar
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 ...
user avatar
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 ...
user avatar
  • 7,351
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 ...
user avatar
  • 1,377
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 ...
user avatar
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 ...
user avatar
  • 1,837
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. ...
user avatar
  • 5,902
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, ...
user avatar
  • 23.7k
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: $$\...
user avatar
  • 3,556
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 ...
user avatar
  • 1,377
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 ...
user avatar
  • 5,902

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