Skip to main content
30 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 ...
RichieSams's user avatar
  • 3,792
19 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 ...
Nathan Reed's user avatar
  • 25.2k
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 ...
Samu's user avatar
  • 546
13 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 ...
Pseudonym's user avatar
  • 781
13 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 ...
RichieSams's user avatar
  • 3,792
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{...
wolle's user avatar
  • 302
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 ...
Nathan Reed's user avatar
  • 25.2k
8 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 ...
Alan Wolfe's user avatar
  • 7,801
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 ...
Nathan Reed's user avatar
  • 25.2k
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 ...
bram0101's user avatar
  • 1,605
8 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 ...
lightxbulb's user avatar
  • 2,226
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 ...
Dragonseel's user avatar
  • 1,810
7 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, ...
Nathan Reed's user avatar
  • 25.2k
7 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, ...
JarkkoL's user avatar
  • 3,666
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 ...
Mary Chang's user avatar
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 ...
Stefan Werner's user avatar
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 ...
ivokabel's user avatar
  • 1,464
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 ...
hunterloftis's user avatar
6 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-...
ivokabel's user avatar
  • 1,464
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. ...
trichoplax is on Codidact now's user avatar
6 votes
Accepted

Mimicking Blender's "roughness" in my path tracer

For explicit light sampling: yep, you just evaluate the BRDF for that incoming direction and the output direction back toward the camera. There's probability involved in the case of an area light: you ...
Nathan Reed's user avatar
  • 25.2k
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: $$\...
JarkkoL's user avatar
  • 3,666
6 votes
Accepted

Tasks of a professional graphics programmer?

I don't know if this is exactly what you're looking for. I work tangentially in the film and TV industry. I don't work for a studio, but I work on the software that studios use for their productions. ...
user1118321's user avatar
  • 3,441
6 votes
Accepted

Compute sphere tangent for normal mapping

You can do this a little bit more efficiently and accurately by calculating derivatives of $P$ with respect to $u, v$—or the derivatives with respect to $\phi, \theta$, equivalently (up to a scalar ...
Nathan Reed's user avatar
  • 25.2k
6 votes

Why is eye-based ray tracing preferred over light-based ray tracing?

As you point out there is problems about which pixel on the camera to connect to. You probably wouldn't notice where you took the sample on an area light because generally the light is pretty uniform ...
Peter's user avatar
  • 529
5 votes

Why use a tent filter in path tracing?

I just looked at Wikipedia articles about Bilinear interpolation. A tent filter is a kind of Bilinear interpolation. A Bilinear interpolation interpolates on 2 dimensions. It first linearly ...
bram0101's user avatar
  • 1,605
5 votes
Accepted

Russian Roulette - Maximum call stack size exceeded

Forking defeats Russian Roulette A key difference between path tracing and ray tracing is that unlike ray tracing, which can have a branching tree of rays splitting at each intersection, path tracing ...
trichoplax is on Codidact now's user avatar
5 votes
Accepted

How to send shadow rays to window light source with glazing

Most renderers allow you to set a flag on an object to make shadow rays ignore it (so it won't cast shadows). You could set this flag on your glazing. That said, it's not unusual to make it so that ...
Dan Hulme's user avatar
  • 6,870
5 votes

A recent approach for subsurface scattering

For cases where the diffusion approximation is preferred over full volumetric path tracing, the method published by Solid Angle is fairly efficient: https://www.solidangle.com/research/...
Stefan Werner's user avatar

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