38 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 ...
user avatar
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
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, ...
user avatar
  • 23.7k
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 ...
user avatar
  • 656
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
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
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

How do correlated samples influence the behavior of a Monte Carlo renderer?

There is one important distinction to make. Markov Chain Monte Carlo (such as Metropolis Light Transport) methods fully acknowledge the fact that they produce lots of highly correlated, it is ...
user avatar
  • 446
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

Why random monte carlo sampling instead of uniform sampling?

Sample locations with a uniform pattern will create aliasing in the output, whenever there are geometric features of size comparable to or smaller than the sampling grid. That's the reason why "...
user avatar
  • 23.7k
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

Why does monte carlo ray tracing perform better than distributed ray tracing?

In Distributed ray tracing, You stochastically sample many rays in directions which may or may not be preferred by the BRDF. Whereas, in Monte Carlo ray tracing or simply path tracing, you sample only ...
user avatar
  • 181
6 votes

Why random monte carlo sampling instead of uniform sampling?

Monte Carlo methods rely on the law of large numbers, which states that the average of a random event repeated a large number of times converges toward the expected value (if you flip a coin a ...
user avatar
5 votes

Is there ongoing research on Markov Chain Monte Carlo algorithms (other than Metropolis-Hastings) for use in ray tracing?

Overview Here is a short overview of the most used space representations, MLT variants and mutation strategies for these MLT variants. As you can see, there are quite some papers dating back to 2017 (...
user avatar
  • 1,024
5 votes

Generation of stratified cosine weighted samples on hemisphere

The classic method is to uniformly sample the disc at the base of your hemisphere and to project your samples upwards on the hemisphere (eg. compute z from x and y). This yields a cosine weighted ...
user avatar
  • 1,575
5 votes
Accepted

Path Tracing With Multiple Lights

It's not that hard. If you have just planar or angular light sources, you can think of them as one light source split into multiple chunks and the only thing to deal with is how to sample this multi-...
user avatar
  • 1,377
4 votes
Accepted

How does everyone count "Rays per Second"?

I've seen both, unfortunately. I'm not fond of rays per second as meaning exclusively primary rays and I'd suggest "paths per second" or better yet "samples per second" instead. "Complete ray" is not ...
user avatar
4 votes

How to build a decent lens/camera objective model for path tracing?

See Kolb, et al., A Realistic Camera Model for Computer Graphics, SIGGRAPH 95. However, do bear in mind that camera models which mimic real-world cameras aren't necessarily what you want for the ...
user avatar
  • 761
4 votes

How do correlated samples influence the behavior of a Monte Carlo renderer?

The hemispherical intensity function, i.e. the hemispherical function of incident light multiplied by the BRDF, correlates to the number of samples required per solid angle. Take the sample ...
user avatar
  • 2,223
4 votes
Accepted

Is this Russian roulette code correct?

I think you're right and the subtraction is a mistake. The code should rather be multiplying the fraction of photons not absorbed into the weight. Something like: ...
user avatar
  • 23.7k
4 votes
Accepted

The variance for the Monte Carlo estimator

I don't have that book to check the context of this, but from the equations you posted, yes, it looks like you're right. The $1/N$ factor should be applied to both terms. That agrees with the formula ...
user avatar
  • 23.7k
3 votes
Accepted

Monte Carlo Integration

In Monte Carlo integration, the samples $x_1, x_2, \ldots x_N$ are independent, identically-distributed random variables. This implies they all have the same expectation value. The derived quantities $...
user avatar
  • 23.7k
3 votes
Accepted

Troubleshoot half vector sampling from a distribution (cook-torrence, trowbridge-reitz, etc)

The general idea for sampling half vector based distributions is that you generate $H$ and then compute $w_i$ by reflecting $w_o$ about $H$. This is so $H$ will be the half vector of your $w_i$ and $...
user avatar
  • 1,575
3 votes
Accepted

Path tracer isn't converging

I can find two possible reasons for the image not converging. #1. Every sample is the same For every sample, you generate random rays. You do that when you shoot the ray through a pixel (for anti-...
user avatar
  • 1,575
3 votes
Accepted

Multiple Importance Sampling in Path tracer produces Dark Images

Throughout my answer I'll sometimes refer to some results in https://sites.fas.harvard.edu/~cs278/papers/veach.pdf by using [MIS,section_number]. You can skip the following derivation if you don't ...
user avatar
  • 1,837
2 votes
Accepted

Generation of stratified cosine weighted samples on hemisphere

If you have a deterministic mapping function which transforms uniformly distributed samples into the desired PDF (cosine shaped in your case), just feed it directly with stratified uniformly ...
user avatar
  • 1,377
2 votes
Accepted

Direct illumination, specular surfaces, and MIS

Specular surfaces which use MIS are not perfectly specular like a mirror. They have a small amount of blur, otherwise there is indeed no point in sampling the light as all the samples will evaluate ...
user avatar
  • 1,575
2 votes

In bidirectional path tracing, is a camera subpath with $n$ vertices determined by a fixed number of random numbers?

For a fixed strategy, you can end up consuming a different number of samples depending on your mutation. This can happen for at least two reasons. If your perturbation changes some material along the ...
user avatar
  • 309
2 votes

BDPT - How to handle deterministic ray PDF?

Sorry about leaving it for so long but I was so busy implementing the goddamn algorithm, I forgot about this :) So after reading up on Veach's thesis pretty closely, I understood what was going on. ...
user avatar
2 votes

Energy redistribution sample re-integration

It sounds like you yet have to adjust the importance function of the Markov Chain according to the way you assign paths to each of the two estimators, path tracing and ERPT. If you think about it in ...
user avatar

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