Hot answers tagged

67 votes
Accepted

What is Importance Sampling?

Short answer: Importance sampling is a method to reduce variance in Monte Carlo Integration by choosing an estimator close to the shape of the actual function. PDF is an abbreviation for Probability ...
  • 3,652
30 votes
Accepted

How physically-based is the diffuse and specular distinction?

To start, I highly suggest reading Naty Hoffman's Siggraph presentation covering the physics of rendering. That said, I will try to answer your specific questions, borrowing images from his ...
  • 3,652
23 votes

How physically-based is the diffuse and specular distinction?

I was actually wondering about exactly this a few days ago. Not finding any resources within the graphics community, I actually walked over to the Physics department at my university and asked. It ...
  • 1,870
15 votes
Accepted

Why isn't a BRDF a ratio of radiances?

There are a couple of ways to answer this question: an algebraic way and a geometric way. Algebraically, we can identify the units that the BRDF must have by looking at its place in the rendering ...
  • 24.3k
15 votes

Rendering equation - why unsolvable directly?

I'm sadly not able to add a comment to the answer above (not enough reputation), so I will do it like this. I'd like to point out that what Dragonseel describes is simply an integral equation (...
  • 304
14 votes
Accepted

How to properly combine the diffuse and specular terms?

Using two Fresnel terms is correct in the sense that any given diffuse path will pass through the surface twice. If you're solving diffusion by tracing a path through the medium until it bounces out ...
14 votes
Accepted

What is the accepted method of converting shininess to roughness, and vice versa?

As you already note, there is no clear cut interpretation/conversion for these values. I think it is even much worse: Depending on your BRDF and internal limitations (like having defined exponents ...
  • 843
14 votes

What is the difference between radiance and irradiance in BRDF

First of all, irradiance at a certain point of a surface is the density of radiant flux (power) per unit of surface area, while radiance at a certain point of a surface in a certain direction is the ...
  • 1,414
13 votes

Rendering equation - why unsolvable directly?

The rendering equation is as follows: Now, the integral is over the sphere around the point $x$. You integrate over some attenuated light, incoming from every direction. But how much light comes in? ...
  • 1,790
13 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 ...
  • 516
13 votes

What is the difference between radiance and irradiance in BRDF

It is helpful if you always look at the units that a certain physical quantity measures. Since you use Real-Time Rendering, I'll also quote from that (3rd edition). Also, for the sake of completeness, ...
  • 1,477
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{...
  • 302
11 votes
Accepted

Fresnel reflectance of gold: red channel greater than 1?

RGB color is a bit more complicated a subject than readily seems apparent. The reflectance wavelength diagram shows the reason quite well actually. RGB color model has several central problems: What ...
  • 8,287
11 votes
Accepted

Why normalise Lambertian BRDF by 1/pi?

I think I got it! Because $cos(\theta)$ integrates to $\pi$ over the hemisphere (and not $2\pi$). And the incoming light is multiplied by $cos(\theta)$ (and the BRDF).
11 votes

What is Importance Sampling?

If you have a 1D function $f(x)$ and you want to integrate this function from say 0 to 1, one way to perform this integration is by taking N random samples in range [0, 1], evaluate $f(x)$ for each ...
  • 3,586
10 votes

Fresnel reflectance of gold: red channel greater than 1?

Here's a chromaticity diagram that includes a projection of the sRGB color space: a triangle whose vertices are red (1,0,0), green (0,1,0), and blue (0,0,1). Encoding the reflectance of a surface as ...
10 votes
Accepted

In a physically based BRDF, what vector should be used to compute the Fresnel coefficient?

In Schlick's 1994 paper, "An Inexpensive Model for Physically-Based Rendering", where they derive the approximation, the formula is: $$F_{\lambda}(u) = f_{\lambda} + (1 - f_{\lambda})(1 - u)^...
  • 3,652
9 votes
Accepted

Energy Conservation for Blinn-Phong BRDF

First off, this is probably not the best way of testing energy conservation, because not all incident inclinations are visible in the image. Most of the environment is also black, so a less "peaky" ...
9 votes
Accepted

Reasons of the assumptions for the microfacet distribution function?

It's a geometric assumption like the other two. Consider a flat macrosurface. Its projected area in any direction $v$ is just $v\dot\ \hat N$ times its area (where $\hat N$ is the surface normal). In ...
  • 6,600
9 votes
Accepted

BRDF and Spherical coordinate in ray tracing

The polar coordinate system commonly used in BRDF definitions is set up relative to the surface being shaded, i.e. in tangent space. The $\theta$ angle measures how far you are from the surface normal ...
  • 24.3k
9 votes

Why does the 1/r² term appear with point sources?

The concept of a point source is an approximation. Physically, light sources are extended objects and emit light from every point on their surface; but when you're far enough away (i.e. the distance ...
  • 24.3k
9 votes
Accepted

What does "Bidirectional" in BRDF mean?

In general the two directions in BxDF are incoming $\omega_i$ and outgoing $\omega_o$ radiance directions, often defined in spherical coordinates $[\theta, \phi]$ or as a 3D unit vector in Cartesian ...
  • 3,586
8 votes

How to properly combine the diffuse and specular terms?

While browsing to properly write my question, I actually found the answer, which happens to be very simple. Another Fresnel term is also going to weight in as the photons make their way out of the ...
8 votes
Accepted

Compensation for energy loss in single-scattering microfacet BSDF models

To my knowledge, there is no easy and analytic way of recovering the energy lost in single-scattering models. The previous techniques precompute the energy loss and reinject it in the BRDF as a ...
8 votes

In a physically based BRDF, what vector should be used to compute the Fresnel coefficient?

The Fresnel coefficient should be evaluated using $H$, not $N$. You wrote, I have trouble seeing why we can still use that formula in a BRDF, which is supposed to approximate the integral over all ...
  • 24.3k
7 votes
Accepted

Correct form of the GGX geometry term

TL;DR: Your $G1$ formula is wrong. Just to avoid confusion, I am assuming the isotropic version of the BRDF, the Smith microfacet model (as opposed to the V-cavity model), and the GGX microfacet ...
  • 1,414
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 ...
  • 1,414
7 votes
Accepted

How does Smith multiple scattering interact with diffuse subsurface scattering?

The goal of Heitz et al.'s model is pretty much the opposite of subsurface scattering: They only consider surface scattering, i.e. the ray can never enter the material. Because microfacets are ...
7 votes
Accepted

Refraction in a Ray Tracer: What do with an intersection within the medium?

this is an interesting question (and I am actually an author on Scratchapixel so I can maybe help on that one)). Things go as follows: you cast the primary ray into the scene the ray hits the glass ...
  • 656
7 votes
Accepted

Why is the half vector not used in diffuse BRDF Fresnel calculations?

I finally figured out a flaw in my argumentation to use the half vector for the diffuse part. tl;dr version: $\alpha_{hi}$ and $\alpha_{ho}$ are not equal, this assumption only works for the specular ...
  • 1,477

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