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
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 ...
Karl Schmidt's user avatar
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
8 votes
Accepted

Should not specular reflection on a rough surface be similar to diffuse reflection?

No, because the underlying physics is not the same, nor the lobe shape - not to speak of their parameters such as color and Fresnel term. Specular is really true surface interaction with the ...
Fabrice NEYRET's user avatar
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 ...
Julien Guertault's user avatar
8 votes
Accepted

Should ideal specular multiply light colour with material colour?

What "ideal" means in this context is that there is no divergence in the direction of light reflection vectors (i.e. no roughness) but that they are all considered to be perfect reflections from an ...
JarkkoL's user avatar
  • 3,636
7 votes

What is the difference between glossy and specular reflection?

The charts you show aren't showing two different phenomena - "glossy reflection" and "specular reflection" - they're showing two parameters of specular reflection. One is the specularity or specular ...
Dan Hulme's user avatar
  • 6,810
6 votes
Accepted

Fresnel and specular colour

Yes, because refractive index can vary with wavelength. This is the origin of colored specular reflection in metals such as gold and copper; most other materials have essentially uncolored specular. ...
Nathan Reed's user avatar
6 votes
Accepted

How to create specular surface in Mitsuba Renderer

You want to use the "conductor" plugin to create a smooth conductor / metal type BRDF. See section 8.2.6 in the documentation. As far as Mitsuba is concerned, a mirror is a special instance of a ...
tizian's user avatar
  • 76
5 votes
Accepted

Phong: Real-time rendering of Metal and Plastic Materials

Diffuse colours on materials typically come from within the material, while the specular colour is from the very surface. Coloured plastic materials are made by embedding particles of dye inside a ...
Dan Hulme's user avatar
  • 6,810
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,810
5 votes
Accepted

phong equation of illumination specular component

Assuming that the classic Phong model is desired here, the dot product that goes into the specular calculation should be R·L, rather than N·H (which was introduced by Blinn). That is, Phong calculates ...
Nathan Reed's user avatar
5 votes

Should ideal specular multiply light colour with material colour?

The specular of metals is a product of the light color and the albedo of the material. Only for non-metals is the color of the specular independent of the albedo, but it's also rather dim. A perfect ...
Quinchilion's user avatar
5 votes

Should ideal specular multiply light colour with material colour?

In this context, "perfect mirror" refers to a perfectly flat surface with a 0% (pure black) diffuse color. It is still possible though to have a specular color: for example a Christmas tree ball ...
Julien Guertault's user avatar
4 votes
Accepted

Normal vector in Phong Illumination Model should be normalized?

Short answer: yes. Longer answer: yes, because the vectors you’re using are meant to represent directions, not directions-and-distances. Think of it in terms of light: it doesn’t matter how far a ...
Noah Witherspoon's user avatar
3 votes

What is the difference between glossy and specular reflection?

Gloss and Specularity are features of the surface. In modern PBR terms we usually refer to the smoothness and metalness of a surface instead (unless you use a specular workflow, then metalness is ...
Karim Abdel Hamid's user avatar
3 votes

Bug: Overly Sharp Highlights in PBR

Just to comment on the 0.16*Specular^2 term that was mentioned in the comments by Karim: Frostbite only remaps the specularity for their internal purpose so that they can pack gemstones specularity ...
James Takarashy's user avatar
3 votes

Should ideal specular multiply light colour with material colour?

Ideal mirrors are just that, ideal. The question if or not it has color never comes to play, its ideal it reflects everything. Like division by zero it is undefined. However, that does not mean you ...
joojaa's user avatar
  • 8,437
3 votes
Accepted

How to handle specular highlights with reflection / total internal reflection in a ray tracer?

But, at this point, do i apply a specular highlight to the surface that i hit from the inside? Unless you have a light source inside your object, there's no point in doing lighting on the inside ...
Olivier's user avatar
  • 1,585
3 votes
Accepted

PBR : Understanding the right part of Split sum integration of specular IBL

1)What is the V vector? How did they compute that It's the vector toward the camera (view vector), i.e. direction of the reflected ray. The lookup table they're building is parameterized in terms of ...
Nathan Reed's user avatar
3 votes
Accepted

Does fresnel reflection make sense for metals?

I think this question is a bit tricky to answer, since I have some seemingly contradictory knowledge about your implementation. If I recall correctly, you are using Schlick approximation for the ...
Enigmatisms's user avatar
3 votes

Confusion over Microfacet-based BRDFs and Normal Distribution Functions

Actually, the confusion of yours mainly results from: My understanding is that microfacet-based BRDFs assume there is always a perfect reflection, but the true microscopic normal changes according to ...
Enigmatisms's user avatar
2 votes
Accepted

Specular exponent spectrum

Using independent settings for each colour channel is like using settings dependent on wavelength when doing spectral rendering. So the question could be re-formulated as: Is a material which ...
ivokabel's user avatar
  • 1,464
2 votes

Phong and the Rendering Equation: What's with the cosine?

The cosine term in the rendering equation is to account the amount of light reaching the surface, and leaving it out from the rendering equation is what he refers as "complete nonsense", which is ...
JarkkoL's user avatar
  • 3,636
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 ...
Olivier's user avatar
  • 1,585
2 votes
Accepted

What does GGX stand for?

According to E. Heitz (Sampling the GGX Distribution of Visible Normals) it stands for "ground glass unknown". I am not sure what the word unknown means though. By the way, it is equivalent ...
Aleš Koblížek's user avatar
1 vote

PBR : Understanding the right part of Split sum integration of specular IBL

I recommend to ignore my post (however I consider papers that I've sent valueable) and read post of Nathan Reed, which is much better in explaining this problem! I'm still a junior when it comes to ...
DirectX_Programmer's user avatar
1 vote

total internal reflection implementation in pbrt-v3

The code does seem a bit ugly since it doesn't assign pdf and instead returns 0. By returning 0 it's basically saying the same thing as pdf = 0 because f.IsBlack() ...
Calvin's user avatar
  • 506
1 vote

Normal Artifacts On Grazing Angles

According to learnopengl.com, the term $G(l, v, n)$ in the Cook-Torrance Specular BRDF can be written as $$ G=\frac{n \cdot v}{(n \cdot v)(1-k)+k} \cdot \frac{n \cdot l}{(n \cdot l)(1-k)+k} $$ and ...
TheCoder5550's user avatar
1 vote

PBR and Specular Aliasing

I'll point out that even if you did implement it correctly, at 1 sample per pixel with low roughness materials you'll still see heavy specular aliasing. It's not uncommon to see the firefly pattern on ...
Calvin's user avatar
  • 506

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