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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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
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, ...
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, ...
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
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
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 ...
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-...
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
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 ...
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
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. ...
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 ...
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 ...
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 ...
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 ...
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 ...
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/...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
pathtracing × 234raytracing × 98
brdf × 36
monte-carlo × 33
importance-sampling × 33
rendering × 31
global-illumination × 31
sampling × 26
lighting × 19
physically-based × 18
c++ × 10
pbr × 9
mathematics × 6
shadow × 6
filtering × 6
specular × 6
3d × 5
performance × 5
material × 5
volumetric-scattering × 5
shader × 4
hlsl × 4
reflection × 4
volumetric × 4
microfacet × 4