Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Questions tagged [brdf]

The tag has no usage guidance.

34
votes
2answers
4k views

How physically-based is the diffuse and specular distinction?

The classical way of shading surfaces in real-time computer graphics is a combination of a (Lambertian) diffuse term and a specular term, most likely Phong or Blinn-Phong. Now with the trend going ...
29
votes
2answers
4k views

What is Importance Sampling?

What is importance sampling? Every article I read about it mentions 'PDF' what is that as well? From what I gather, importance sampling is a technique to only sample areas on a hemisphere that matter ...
24
votes
2answers
3k views

Path tracing the Cook-Torrance BRDF

-- Sorry for the long post, but I prefer to do that way because "Devil is in the details." :) I am writing a path tracer from the scratch and it is working nicely for perfectly diffuse (Lambertian) ...
17
votes
2answers
4k views

How to properly combine the diffuse and specular terms?

As far as I understand, in a BRDF the Fresnel term is telling us the probability for a photon to be reflected or refracted when it hits a surface. The reflected photons will contribute to the ...
13
votes
2answers
528 views

Fresnel reflectance of gold: red channel greater than 1?

I've been trying to understand some of the physical principles behind light and material interaction lately. In his talk Physics and Math of Shading, Naty Hoffman explains Fresnel reflectance and ...
13
votes
1answer
2k views

Choosing Reflection or Refraction in Path Tracing

I am trying to implement refraction and transmission in my path tracer and I'm a bit unsure on how to implement it. First, some background: When light hits a surface, a portion of it will reflect, ...
12
votes
1answer
490 views

Compensation for energy loss in single-scattering microfacet BSDF models

Single-scattering microfacet-based surface models like the original Torrance-Sparrow BRDF or derived models like the BSDF for rough dielectric surfaces by Walter et al. neglect inter-reflection of ...
11
votes
1answer
142 views

Reasons of the assumptions for the microfacet distribution function?

The paper Microfacet Models for Refraction through Rough Surfaces (among others) reminds us the following assumptions about the microfacet distribution function D: Microfacet density is positive ...
11
votes
1answer
2k views

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

Most modern renderers use physically-based materials and their models are often parameterized over roughness. Since this wasn't always the case with renderers, conventional assets often don't have a ...
10
votes
1answer
275 views

Why isn't a BRDF a ratio of radiances?

I'm Learning about BRDFs and wondering why the BRDF is defined as the ratio of outgoing radiance to a given direction and incoming irradiance from another direction. Why isn't the BRDF defined as ...
9
votes
1answer
2k views

Correct form of the GGX geometry term

I'm trying to implement a microfacet BRDF in my raytracer but I'm running into some issues. A lot of the papers and articles I've read define the partial geometry term as a function of the view and ...
8
votes
2answers
1k views

Rendering equation - why unsolvable directly?

Why is the rendering equation, introduced by Kajiya in 1986, not solvable directly/analytically?
8
votes
2answers
957 views

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

The well known Schlick approximation of the Fresnel coefficient gives the equation: $F=F_0+(1 - F_0)(1 - cos(\theta))^5$ And $cos(\theta)$ is equal to the dot product of the surface normal vector ...
8
votes
1answer
648 views

Why normalise Lambertian BRDF by 1/pi?

Why is a Lambertian BRDF normalised by dividing by $\pi$? Since the area of a unit sphere is $4 \pi$, and the area of the half sphere above the surface is $2 \pi$, shouldn't it rather be $1/(2\pi)$?
8
votes
1answer
345 views

How does Smith multiple scattering interact with diffuse subsurface scattering?

The Multiple Scattering Microfacet BSDFs with the Smith Model paper describes a statistical model for replacing the masking-shadowing functions in microfacet BSDFs (which account for paths with more ...
7
votes
5answers
309 views

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

I'm currently reading some books on radiometry. They mention that radiance is constant along a ray. It doesn't change with distance. However, I've seen some raytracer and they put the 1/r² factor when ...
7
votes
1answer
1k views

Energy Conservation for Blinn-Phong BRDF

I am trying to sample from the Blinn-Phong BRDF. For testing, I use a spherical light source (Lambertian emission) sitting on a specular plane. Here's a reference image using energy-conserving Phong ...
7
votes
1answer
244 views

Derivation of Wikipedia's path tracing diffuse BRDF

Wikipedia's path tracing algorithm has the following line for the diffuse BRDF: Color BRDF = 2 * m.reflectance * cos_theta; I'm a little confused as I've been ...
7
votes
1answer
313 views

What is the most physically accurate model of surface materials possible in computer graphics?

I am looking for theoretical and implemented models to represent surface materials in software that strives for physical accuracy. Is BRDF really the best model? What alternatives are better? Why? ...
7
votes
1answer
478 views

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

I am currently working with Earl Hammon Jr's Presentation PBR Diffuse Lighting for GGX+Smith Microsurfaces (now mentioned as [PBR, p.XYZ] and have read through (among others) Brent Burley's Physically-...
7
votes
1answer
106 views

fix over exposure in importance sampling in screen space reflections

I am having my first encounter with the rendering of indirect reflections in the form of screen space reflections in a game engine, but i am struggling to get correct looking results. (patterns arise ...
7
votes
0answers
919 views

Diffuse BRDF component of the Disney BRDF

In the SIGGRAPH course: BURLEY B.: Physically Based Shading at Disney, SIGGRAPH 2012 Course: Practical Physically Based Shading in Film and Game Production, 2012. it is mentioned that some BRDF ...
6
votes
2answers
2k views

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

I am currently following a tutorial at Scratchapixel.com on refraction Here is the refract function: ...
6
votes
1answer
268 views

Dealing with blown-out highlights in PBR

I've been writing some custom shaders based around Unity's Standard BRDF, which is uses GGX distribution term and Smith visibility term. It looks great at either end of the smoothness scale (1 and 2 ...
6
votes
1answer
959 views

BRDF and Spherical coordinate in ray tracing

I developed a ray tracer that use standard phong/blinn phong lighting model. Now I'm modifying it to support physically based rendering, so I'm implementing various BRDF models. At the moment I'm ...
6
votes
1answer
409 views

Fresnel and specular colour

I'm trying to implement Cook-Torrance BRDF and had previously bookmarked this question as it looked very well thought out. Going through it, I'm confused about the Fresnel equation. The author has the ...
6
votes
1answer
105 views

Trying to understand environmental cubemaps

I am trying to implement a physically based renderer, in OpenGL. I was planning to implement the Cook-Torrance BRDF. I read about radiance cubemaps (for reflections), like the one discussed here, for ...
6
votes
1answer
94 views

“Artist Friendly Metallic Fresnel” reversible?

While implementing the "Artist Friendly Metallic Fresnel" paper by Ole Gulbrandsen (http://jcgt.org/published/0003/04/03/paper.pdf), I read that it is fully reversible: (section 2.3.2): for all r,g ...
6
votes
2answers
108 views

Problem with Basic Diffuse Lighting

So recently I have been learning how to implement Diffuse Lighting in DirectX and I have done so with the following code: ...
6
votes
1answer
217 views

Ray tracing - BRDF using Cornell measured spectral data

I wrote a ray tracer that implements various BRDF models (Oren Nayar, Lamber, Torrance Sparrow and so on). Now I'm trying to implement a BRDF from measured data. I choose the Cornell database data ...
6
votes
3answers
881 views

What is the difference between radiance and irradiance in BRDF

Currently I am reading the BRDF section from Real Time Rendering and I am having a hard time to visually understand the definition of this function. BRDF is the ratio between the radiance in outgoing ...
6
votes
1answer
78 views

How is measured BRDF data recorded?

How is measured BRDF data recorded? Like the MERL BRDF Database. What kind of equipment is used and what are the key values that need to be recorded? I know one place this data was used was in the ...
5
votes
2answers
269 views

What does “Bidirectional” in BRDF mean?

So Bidirectional essentially means "two directions", right? But what are these two direction (left-right? up-down? north-south?) we are talking about in regards to bidirectional reflectance ...
5
votes
1answer
517 views

Microfacet shading for diffuse materials

I recently replaced the Lambertian BRDF in my path-tracer with Oren-Nayar, under the assumption that I could adjust it to use the GGX distribution model with appropriate masking/shadowing. PBR ...
5
votes
1answer
198 views

Phong BRDF in Mitsuba, Tungsten and AGI

In the book AGI (Advanced Global Illumination), the Phong BRDF is $f_r(x,\Psi\leftrightarrow\Theta)=k_s\cfrac{(R\cdot\Theta)^n}{N\cdot\Psi}+k_d$ $k_d=\cfrac{albedo}\pi$ In Mitsuba and Tungsten, the ...
5
votes
1answer
461 views

Energy conservation of BRDF

I'm reading Advanced Global Illumination. Here is the part confusing me: What do the second equation and $\delta$-function mean? Why the third equation is a sufficient condition even though a reason ...
5
votes
1answer
729 views

Volume Rendering (Path Tracing & Real-Time)

I have a few doubts and questions regarding volume rendering, I was hoping someone here could help me understand. I commonly hear the terms 'Ray-Marching' & 'Volume Rendering' being used together ...
5
votes
3answers
6k views

What is the difference between glossy and specular reflection?

What is the difference between glossy and specular reflection? What is their relations with BRDF?
5
votes
1answer
108 views

Radiative Transfer Equation for Photorealistic Rendering

I've recently become interested in photorealistic rendering, and I've been looking at the different rendering philosophies. I read this Disney Research bachelor's thesis, which states both the ...
5
votes
1answer
251 views

Intuitively understanding conservation of energy for the Lambertian BRDF

The Lambertian BRDF is defined as $R / \pi$, where the division by $\pi$ is there to maintain conservation of energy. The derivation is provided here. The maths makes sense, and I can understand ...
5
votes
2answers
99 views

Refraction: given an incoming and transmitted direction, can I deduce the normal?

It's easy to find guides to calculating the transmitted direction of light given an incoming direction, the normal, and indexes of refraction. However, I can't find anything about determining the ...
5
votes
1answer
142 views

Roughness Remapping

I have been recently exploring physically-based rendering (PBR), but there is one part that still confuses me. I don't quite get roughness remapping, as described in the PBR section on Learn OpenGL. ...
5
votes
1answer
416 views

How to correctly implement Lambertian BRDF with point light

I'm implementing a simple Lamberitan BRDF in GLSL, using a point light source. My fragment shader simply returns light_colour * 1.0/PI * cosine, which should model ...
5
votes
0answers
40 views

Ask for help on understanding a formula related to change of variable

Although I have tried for a long time, I cannot understand Eq.(11) of paper "Microfacet Models for Refraction through Rough Surfaces" written by Bruce Walter, Stephen Marschner, Hongsong Li and ...
5
votes
0answers
95 views

Should I use nonsymmetric BSDF for refraction in BPT?

I'm implementing bidirectional path tracing. I want to simulate perfect refraction. I read in the Veach thesis that a perfect refraction BSDF is non-symmetric. Does it mean that I need to use ...
4
votes
1answer
348 views

Why the BRDF of specular reflection is infinite in the reflection direction?

I know the BRDF of specular reflection is nonzero only in the reflection direction. But why it is infinite? A paragraph on page 36 of Advanced Global Illumination:
4
votes
2answers
194 views

Relationship between roughness and BRDF

In a BRDF $f_r$, assume Cook-Torrance model, we have a microfacets distribution $D$. This distribution essentially models the rougheness of the material as far as I've understood. Given a direction $v$...
4
votes
1answer
182 views

Where does the cosine factor comes from in the GGX PDF?

The GGX NDF, as it appears on the paper where it is presented is: $$D(m)=\frac{\alpha_g^2\space\chi^+(m\cdot n)}{\pi\cos^4(\theta_m)(\alpha_g^2+\tan^2(\theta_m))^2}$$ It is equivalent, in the range $...
4
votes
2answers
226 views

What is the effect of the BRDF denominator?

I was reading a paper on BRDF. I've come across this formula : $$ f(\omega_i, \omega_o ) = \frac{FDG}{4(N.V)(N.L)}$$ The (N.L) term can be cancelled by the cosine term which appears in the rendering ...
4
votes
2answers
158 views

What is a Gaussian Lobe concerning BRDF and NDF?

I was reading a paper about voxel cone tracing and came across this term. So, what is a Gaussian Lobe or a Lobe in general? I am asking in the context of Computer Graphics, BRDF and NDF.