Skip to main content
Share Your Experience: Take the 2024 Developer Survey

Questions tagged [brdf]

The tag has no usage guidance.

Filter by
Sorted by
Tagged with
1 vote
0 answers
102 views

"Charlie" Sheen BRDF's directional albedo integrates to values higher than 1 at low roughnesses. Does this mean it is not energy conserving?

I am implementing the BRDF from the 2017 paper "Production Friendly Microfacet Sheen BRDF". This BRDF is modelled as a coat layer stacked on top of a base specular. In order to do so in an ...
avilapa's user avatar
  • 43
0 votes
0 answers
46 views

Understanding the BRDF Equation

I am studying the BRDF equation. From Wikipedia, the equation is as follows: I have one main question: Where does the $\cos{\theta_i}$ in the denominator come from? The denominator implies that $...
Christopher Miller's user avatar
1 vote
1 answer
202 views

Confusion over Microfacet-based BRDFs and Normal Distribution Functions

Through reading various sources online, I've become a bit confused. I'll briefly outline what I think I do understand: My understanding is that microfacet-based BRDFs assume there is always a perfect ...
Chris Gnam's user avatar
0 votes
0 answers
33 views

Blin Phong BRDF in an unusual coordinate system

a happy New Year to everybody! But, a new year means a new question: In my problem, a mirror is placed in a vertical position, i.e. along the z-axis.The x- and y-axis are perpendicular to this axis. ...
Uwe Nass's user avatar
0 votes
1 answer
108 views

Lambertian surface and the luminous intensity

I am currently studying the basics of photometry to better understand the rendering equation of Kajiya. One thing I'm currently struggling with is Lambert's cosine law. Let's go over the premises: A ...
Bartolini's user avatar
1 vote
1 answer
64 views

Fixing bias in Specular lobe

Im currently making some modifications for a path tracer for Minecraft, specifically adding glossy refractions. The program currently uses for specular reflections this method, linear interpolation ...
Consuelo Ugarte's user avatar
0 votes
1 answer
84 views

How to imlement the Phong BRDF

I'm really sure that this question was asked before, and I found some code snippets by searching this via google. Unfortunately these snippets are in openGL or some other high level computer graphics ...
Uwe Nass's user avatar
1 vote
3 answers
168 views

How to calculate the radiance of the reflected light ray using the Blin Phong BRDF

to get the radiance of the Lambertian diffuse reflected light, I have to multiply the constant pdf (rho/pi) with the incoming intensity I0*cos(theta_i), where cos(theta_i) is given by the scalar ...
Uwe Nass's user avatar
0 votes
0 answers
63 views

Unable to compute fresnel reflections properly

I am implementing fresnel reflections for materials in my renderer. According to this source, here the look I should obtain when rendering a sphere over a grey background: I have two implementations. ...
StudenteChamp's user avatar
0 votes
1 answer
141 views

Does fresnel reflection make sense for metals?

I am implementing fresnel reflections for materials in my renderer. Does it make sense for metals? Here my implementation: ...
StudenteChamp's user avatar
1 vote
1 answer
349 views

Importance sampling of the blinn-phong brdf in pathtracing

tl;dr: How do you importance sample the blinn-phong-brdf? Recipe for importance sampling of the phong brdf as far as i understood it (pseudo-code): ...
Berti Krüger's user avatar
1 vote
1 answer
166 views

Importance sampling in a path tracer

So, I'm attempting to implement a monte carlo path tracer that uses the ggx brdf model. However, I'm rather confused about how to sample the light direction. I know that theta and phi can be sampled ...
RandomPigYT's user avatar
1 vote
0 answers
35 views

How to solve GGX roughness from existing maps

I have a problem that I cannot really wrap my head around. I have a minimal light stage setup to scan heads: I have cross polarized cameras and parallel polarized cameras. I have parallel polarized ...
Schaggo Mikatis's user avatar
2 votes
1 answer
188 views

How to properly use the BRDF from glTF 2.0 specification in path tracing while using metallic/roughness materials?

I've built a renderer which should render glTF materials, as they are defined in their specification. So I should be able to render satisfying (similar to Cycles and Ospray) results just from the base ...
AllenTeehrsie's user avatar
4 votes
1 answer
148 views

Why do I need to remove the positive charactaristic function for the pdf of the outgoing direction to integrate to 1 with GGX?

Context: I am attempting to implement Trowbridge–Reitz (GGX) based on Microfacet Models for Refraction through Rough Surfaces in a pathtracer. I use numerical integration to check if the pdfs ...
Nicholas Leon's user avatar
2 votes
0 answers
160 views

MIS path tracing got darker image than brute force path tracing

I'm trying to implement the multiple importance sampling path tracing, the MIS path tracing uses the MIS to combine the direct light sampling and brdf sampling to evaluate the direct lighting. The ...
yys_c's user avatar
  • 21
1 vote
1 answer
165 views

The purpose of NdotV in the directional-hemispherical reflectance equation in the book "Real-time rendering book"

I have been reading the book "real-time rendering 4th edition" and came across this Directional-hemispherical reflectance equation. $$R(\mathbf{l}) = \int_{\mathbf{v}\in\Omega} f(\mathbf{l}, ...
Mohamed Hashem's user avatar
1 vote
0 answers
42 views

How to visualize the outgoing directions sampled from BSDF?

I'm trying to find a way to visualize the outgoing directions sampled from BSDF. More specifically, for a given incident direction, I can sample the outgoing directions, using 'BSDF sample', and I ...
Wenjian Zhou's user avatar
1 vote
1 answer
65 views

Is the dichromatic model physically based?

lately I have been learning about photometry, and everywhere I look I see a BRDF written according to the "dichromatic model". Roughly speaking: $$\rho= \rho_D+\rho_S \cdot (...)$$ for some $...
Lilla's user avatar
  • 113
1 vote
1 answer
86 views

[Subsurface Scattering]Reflection from Layered Surfaces due to Subsurface Scattering

Recently, I am doing some research about subsurface scattering. i am a little confused about the backscattered radiance mentioned in this paper Reflection from Layered Surfaces due to Subsurface ...
danding's user avatar
  • 25
1 vote
1 answer
337 views

Cosine in Rendering Equation and BRDF cancel out: Why cosine at all?

I am somewhat confused with the following issue reading about the rendering equation and BRDFs. That is, the BRDF is usually defined as surface radiance $Lr(ω_r)$ over irradiance $L_i(ω_i)cosθ_i$ for ...
Sam's user avatar
  • 164
1 vote
1 answer
145 views

Conflicting definitions for the distribution of normals $D$ in microfacet BSDFs

Please do not confuse this question with this one. In Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs, Eric Heitz defines the distribution of normals as. There, the footnote. ...
GroundGlassUnknown's user avatar
1 vote
1 answer
516 views

Integrating BRDF using Importance Sampling

I read some articles about BRDF integration with and without importance sampling and I don't understand one thing in equations. If we integrate a BRDF over hemisphere with uniform sample direction ...
Emil Kabirov's user avatar
2 votes
1 answer
353 views

How is the maximum value for alpha (roughness == 1) decided for microfacet models?

Recently I have been looking at pbrt, and was looking at their remapping from roughness to $\alpha$ values: https://github.com/mmp/pbrt-v3/blob/master/src/core/microfacet.h#L86 I understand that it is ...
Shane Simms's user avatar
0 votes
1 answer
90 views

PDF of BRDF respecting the spherical coordinates

I'm reading the article Sampling microfacet BRDF. The GGX function is $D(h)$, the articles says the PDF respecting the spherical coordinates is $P_1(\theta)=D(h)Cos(\theta)Sin(\theta)$. But I think ...
Chris Guo's user avatar
0 votes
1 answer
52 views

What is the terminology for the brightest point on a plane

Given a plane, assuming that view direction and light direction are both fixed, there must be point which is the brightest point on that plane(where half vector equals to the normal vector).What is ...
Chris Guo's user avatar
3 votes
1 answer
206 views

Confusion of deriving the Jacobian of the reflection transformation in Walter et. al's 2007 paper

When deriving the Jacobian of the reflection transformation in Walter et. al's 2007 paper: First we have a macrosurface BSDF which is: $f_{s}(\mathbf{i}, \mathbf{o}, \mathbf{n})=\int\left|\frac{\...
user10546666's user avatar
2 votes
1 answer
87 views

BTF Find Four Closest Sampling Directions

I am trying to use the techniques discussed in this paper to implement a BTF into PBRT. I am stuck on how to actually interpolate the weights of the four closest sampling directions. At the BTF, I ...
Dave's user avatar
  • 121
1 vote
0 answers
118 views

How to understand Beckmann is a Gaussian distribution in slope space

I'm recently looking into how slope space is used in microfacet BRDF. Can anyone help to explain how Beckmann is a Gaussian distribution in slope space? Thanks
SSS's user avatar
  • 43
2 votes
2 answers
379 views

What is slope distribution

I was reading this slope space integral paper. Can anyone help to explain slope space and slope distribution mentioned in this paper, and why we can use normal and half vector to represent 2D ...
SSS's user avatar
  • 43
0 votes
1 answer
328 views

How can I make the simplest physically based mixed specular-diffuse BRDF (and how to properly sample it)?

I am having troubles making a BRDF that has both specular and diffuse part. Each one is weighted by a coefficient and the sum of coefficients should be equal to one. I want this layered BRDF to be the ...
Balfar's user avatar
  • 76
1 vote
1 answer
190 views

How to find the importance sampling function for a specified BRDF?

I am currently working on BRDF and their associated probability density functions (PDF) in order to importance-sample them. It is really hard for me to find the correct way to compute the PDF of a ...
Balfar's user avatar
  • 76
2 votes
2 answers
392 views

Why is the symbol for solid angle a small omega in the definition of the BRDF?

In many resources the BRDF is defined like $$f_{r}(\omega_{i},\omega_{r}) = \frac{\mathrm{d}L_{r}(\omega_{r})}{L_{i}(\omega_{i})\,\cos{\theta_{i}}\,\mathrm{d}\omega_{i}}.$$ The index $r$ might be ...
akuzminykh's user avatar
2 votes
4 answers
255 views

Question about function for color

I would like a help to understand the following line of code: return float3(pow(color.r, 2.2), pow(color.g, 2.2), pow(color.b, 2.2)); I've seen some places calling ...
Matheus Markies's user avatar
2 votes
0 answers
108 views

Do all microfacet brdf models diverge at grazing angle?

My question follows directly this one. Reading the famous paper of Walter, it comes that the plotted curves of figure 13 (in question in the related topic) are not directly the brdf but rather the ...
kipgon's user avatar
  • 151
0 votes
1 answer
402 views

Path tracing: How to ensure we are sampling a direction vector within the visible hemisphere of a surface?

Given a surface Normal vector of an intersection point, how can one generate a random direction vector that is guaranteed to be in the visible hemisphere? The way I ...
Amir's user avatar
  • 241
3 votes
0 answers
171 views

IBL looks too dark with uniform sampling

I'm making a program that illuminates a sphere using an environment map. For each fragment in the sphere, I compute a many random directions in the hemisphere along the surface normal (no importance ...
user1754322's user avatar
0 votes
1 answer
222 views

Pathtracing - many bounces reduce shadows

I'm creating DXR PathTracer highly influence by Matt Pettineo's one - https://github.com/TheRealMJP/DXRPathTracer ; Relevant HLSL code below: ...
DirectX_Programmer's user avatar
2 votes
1 answer
1k views

Importance sampling a cosine distribution

Let's take a look at this blog article - https://schuttejoe.github.io/post/ggximportancesamplingpart1/ and image presented as a result of implementing it: Inside above link, you can see description ...
DirectX_Programmer's user avatar
6 votes
1 answer
165 views

What should I do when a new sampled direction is below a normal oriented hemisphere?

I generate random directions from the pdf of D term in GGX BRDF. On the picture, white dots are new directions and the cross is the light direction, with roughness = 1. What should I do with the ...
Gregory Ginzburg's user avatar
3 votes
1 answer
917 views

What is 2D BRDF Slice/Lobe?

I was recently trying to read some rendering papers and textbooks. The word 2D BRDF slice/lobe is often used while no official definition is provided. I know that BRDF is a 4D function of input ...
TH3CHARLie's user avatar
0 votes
1 answer
315 views

BRDF for point lights should not return values over 1

This is standard Cook-Torrance BRDF in formulation for a single point light. No intergrals over a hemisphere, just a single direction to a source of incoming energy. $$ L_o = { \bigg ( (1-F) \frac{...
Emil Kabirov's user avatar
3 votes
2 answers
733 views

BRDF that interpolates between diffuse, glossy and reflective?

Is there a way to obtain a parametrized BRDF that smoothly interpolates between diffuse, glossy and mirror? For example, $\lambda = 0$ would be perfectly diffuse, $\lambda=0.5$ glossy and $\lambda = 1$...
vuoriov4's user avatar
4 votes
1 answer
474 views

How do I make sure my cosine-weighted sampling works fine?

I'm working on a pathtracer and while it's working mostly fine, I'm getting different outputs with cosine-weighted sampling and uniform sampling : Uniform sampling is on the left, cosine-weighted is ...
Octave's user avatar
  • 41
3 votes
0 answers
626 views

How to properly combine diffuse and rough specular BRDFs in a path tracer

Looking around here on various sources (including related questions on this site), if my understanding is correct, when implementing a path tracer with a material which has both a diffuse term and a ...
yggdrasil's user avatar
  • 145
2 votes
1 answer
535 views

BRDF sampling and evaluation of diffuse vs specular component

When I am sampling diffuse BRDF I am using cosine-weighted distribution and when I want to sample specular BRDF I use sampling by GGX distribution. I can decide how much light is reflected and how ...
Vít Gardoň's user avatar
0 votes
3 answers
989 views

Correct way to think about Fresnel effect

I am using Schlick approximation to calculate the value of the Fresnel effect I found here When I try to find corner cases for the formula I get the value of 1 when the angle between normal and ...
Vít Gardoň's user avatar
0 votes
2 answers
634 views

Understanding of Microfacet monte-carlo path tracing

I am trying to implement BRDF microfacet path tracing and I think I need a little push. I will explain what I understand so that you can correct my mistakes. I start with simple rendering equation: ...
Vít Gardoň's user avatar
0 votes
0 answers
244 views

Pdf division in BRDF sampling

While following scratchapixel's tutorial on indirect diffuse implementation in path tracing, the samples gets divided by the pdf, which in case of a uniform pdf results in $1/2\pi$ so we have that the ...
yggdrasil's user avatar
  • 145
3 votes
0 answers
219 views

Understanding BRDF sampling

I'm trying to understand BRDF importance sampling following the exemples of the lambertian/diffuse model and the reciprocal Phong model. I would like to be able to extend the principle to other ...
kipgon's user avatar
  • 151