Wow. Honestly, I never really understood nor cared about what a BSDF meant. After watching this and learning about what it does and the differences between those and other shaders like emission and sss, I'm very intrigued. Thanks for this Grant
Thanks. I've always hated labels with unexplained acronyms. I often feel like they include them just to intimidate the user, as if to say, "If you don't know what this means, you're not smart enough to use it." , so I generally avoid it.
Wow thanks. I had avoided using all those shaders thinking they were too "edgy" for me to use. Now that I know they are kink free this opens up a whole new world of rendering for me! Huzzah!
Hmm... I think it may be a little bit confusing to explain this stuff on two surfaces simultaneously. Actually each of these two surfaces (the upper boundary of this glass sheet or what that is and the lower boundary) each have both a BRDF and a BTDF component. On the upper surface the BRDF tells us how much light will be reflected (and in what directions) and the BTDF tells us how much light will enter the glass (and also in which direction). When the light ray inside of the glass then hits the lower surface we need the BRDF of the lower surface to determine how much light will be reflected back inside of the glass again. And we need the BTDF to determine how much light will cross this surface and leave the glass block again at that point on the lower side of the block. (and in which directions) And I think it is a little bit confusing how your explanation of (1) BSDF vs. BTDF and your explanation of (2) specular reflection vs. glossy/diffuse reflection were kind of intertwined. Those two things actually have nothing to do with each other. A BRDF without a transmission (BTDF) component can still be either glossy or specular. Or glossy/specular + diffuse. Besides a interesting sidenote: did you know that a diffuse surface is interestingly not the same as a very rough glossy surface? A glossy shader is when you have a surface roughness that turns a specular reflection into a more blurry glossy reflection. But a diffuse shader is not a rough specular surface. So what is a diffuse surface? Interestingly in real life a diffuse surface is also subsurface scattering. But the distance between the point were the light enters the object and the point were the light ray leaves the object again (after all this scattering under the surface) is so close that we set it to zero. So it basically looks as if the light ray had just been scattered from this exact point were it entered the volume below the surface. Therefore we do not use an actual subsurface scattering shader. We only need a subsurface scattering shader to describe the distance between those two points were the light ray enters and were it leaves the surface again. A BSDF cannot describe this distance that is only possible with a BSSRDF/a real subsurface scattering shader. But if that distance is very small then we can just neglect it and set it to zero, which allows us to use only a simple diffuse BSDF instead. I learned some of that stuff in computer graphics lectures and some of it I learned here: ua-cam.com/video/j-A0mwsJRmk/v-deo.html Oh my god that comment of mine got really long. :D
You're right. I do think I did a poor job of explaining that. I wasn't aware of the difference in the function of the BTDF though, I will absolutely look into that more. Thanks for the link to the lecture!
Sorry for being so critical this time. Some time ago I did a seminar about this topic for about a semester and read a lot in papers about microfacets and BSDFs. You probably only looked into it for about a week when preparing for this video. So mistakes can happen. :D Actually when I think about it maybe when you have a very thin glass sheet probably it might be possible to define a BSDF that considers both sides of this sheet in one evaluation. And then you would model only one infinitely thin surface in blender without any solidify modifier or such. But I don't think blender's glass shader works that way. In blender your glass objects must have some actual volume. So for a glass sheet you would need use the solidify modifier (or extrude a little or something) so you get two surfaces, one for each side. And then both of these have a glass shader each with their own BRDF and BTDF. At least that is my understanding. But probably when you model for example a leaf for a tree with only one polygon or some surface without thickness. And you use some translucency shader or such. Probably then your explanation is not so wrong. But still a little confusing, I think. I think a sketch of a single surface would be clearer for the explanation. And to be honest I am not sure whether the presentation in my link does explain BTDFs. But you might learn some interesting stuff about what is diffuse reflectance and what is the difference to subsurface scattering. (its basically the same. It just depends on the averate distance that the light scatters under the surface, which shader you will use. At least that is how it is explained in that siggraph presentation.) And also he explains microfacet models (=how rough surfaces reflect light) :D
thanks so much for this , understanding what goes on in the scene makes it a heck of a lot easier , it'll be cool if you also had visuals to explain how this works , this is something ive been thinking of doing myself
Thx2U 4 this. U made it REALLY easy for me to understand this complex idea, and that's rare when trying to learn anything.... computer. I watched another video of ur's, but u were WAY over my head, so I thought "Ok, well CG Cookie.... yeah, I might come back to his channel once I'm a wiz at Blender, but he's speaking Martian, atm... very, very fast Martian." But I was wanting to understand shaders today, and u pleasantly surprised me. U sir, get a Like AND a sub. Thx2U!
There were a few small mistakes that I can ignore but one of them is flat out wrong and might point people into the wrong direction. Roughness and glossiness is NOT the amount or ratio of light being reflected versus transmitted. Roughness is yet again an approximation of the behavior of micro surfaces. Meaning, if you imagine taking a microscopic look of your surface the "mountains and valleys" of that micro surface will reflect and transmit light into various directions, furthermore, the rougher the surface is the wider the angles are, kinda like if it's distributing the specular component through the surface. check out ths "microfacet part" in this page: learnopengl.com/PBR/Theory for a more detailed explanation.
You're correct, but I think you misheard me at 5:25. I'm say that roughness determines how much light will be scattered upon reflection and how much light should be specularly reflected upon reflection.
0:47 No, it has to do with the length of the name. The ones that omit “BSDF” would probably have gone over a 21-character limit or something. What actually makes them a “BSDF” is the light-green output terminal.
The only nodes up there that don't have BSDF are utility nodes, volume nodes, and the two nodes that I pointed out later in the video. These nodes utilize a BSDF for light scattering because no light scattering needs to be done. An easy way to validate this is to look at the shader outputs of BSDF and non-BSDF nodes. The BSDF nodes all have a "BSDF" output, while the others vary in their naming scheme. imgur.com/a/aY12ctz
Boy Seeking Dominating Female Jk ;P I seriously appreciate this video and whole CGC Weekly series, my favorite element of CG Cookie Blender Training :)
it's funny i was looking into this subject last week, great explanation but i kinda wanted you to pick some exemple of other render engines like vray who use brdf and show some visual comparaison between brdf and bsdf, and also talk a little bit about raytracing vs path tracing because it's the same subject after all
i dont understand. What the point of labeling it diffuse bsdf when you cant choose a non-bsdf diffuse? its like adding the word "unbiased shader" onto every shader name.
Good explanation, even though maybe not completely correct in all aspects as Philipp pointed out earlier. But by the way, you messed up "Transmittance" as well, not only "Altitude" ;)
If you're interested in looking at the "Bidirectional" part of the BSDF, you can check out this video. It summarizes things pretty well: ua-cam.com/video/4QXE52mswIE/v-deo.html
Lawrence D’Oliveiro Ahh, I thought so, but now I want to know how each one of them effect the material because its hard to see that in rendering. Im hopping someone could make an in-depth video about it you know. Thx🐾
This has to do with the microsurface model which is used to describe the scattering of the light on rough surfaces. Like how a specular(=mirror like) surface is turned into a more glossy surface (= more blurred reflections) with increasing roughness of the surface. GGX and Beckmann are different formulas to describe basically how many of your microscopic microsurfaces are oriented in each single direction. Like how many microsurfaces are oriented horizontal how many are tilted 30 degrees to the left, how many 20 degrees to the left, how many 20 degrees to the right, and so on. GGX and Beckmann both take into account the roughness value of the shader. Like for example when you set the roughness to zero, then 100 % of the microsurfaces will be oriented horizontally. The Multiscatter thing is defines whether a light ray can be reflected multiple times during a single bsdf evaluation. It is explained here: ua-cam.com/video/JtBTffVVa-c/v-deo.html
o FRONTAL-TEACHER ??! - iT`S a long Time ago to set BLENDER-TUTORIAL with all Learning INSTANCE INCLUDED reduced to a WHITE-BOARD black MARKER so long version 0.667
Literally woke up this morning wondering what BSDF stood for and figured I should probably know. BOOM THIS VIDEO PUBLISHED TODAY. thx Grant + CGC
Wut up youtube fam!
@@DerekElliott What up you from the past!
EDIT: Congrats on 100K subs!
@@WW_Studios thanks dawg from the future
Wow. Honestly, I never really understood nor cared about what a BSDF meant. After watching this and learning about what it does and the differences between those and other shaders like emission and sss, I'm very intrigued. Thanks for this Grant
Love these technical aspects Grant.
OMG, I instantly love your video, when you start from the definition of the word! Good job, Thank you!
Thanks. I've always hated labels with unexplained acronyms. I often feel like they include them just to intimidate the user, as if to say, "If you don't know what this means, you're not smart enough to use it." , so I generally avoid it.
*initialism
An acronym can be pronounced as a word, for example: NASA, RAM
An initialism is when you pronounce the individual letters: CIA, HIV, BSDF
Wow thanks. I had avoided using all those shaders thinking they were too "edgy" for me to use. Now that I know they are kink free this opens up a whole new world of rendering for me! Huzzah!
Hmm...
I think it may be a little bit confusing to explain this stuff on two surfaces simultaneously. Actually each of these two surfaces (the upper boundary of this glass sheet or what that is and the lower boundary) each have both a BRDF and a BTDF component. On the upper surface the BRDF tells us how much light will be reflected (and in what directions) and the BTDF tells us how much light will enter the glass (and also in which direction).
When the light ray inside of the glass then hits the lower surface we need the BRDF of the lower surface to determine how much light will be reflected back inside of the glass again. And we need the BTDF to determine how much light will cross this surface and leave the glass block again at that point on the lower side of the block. (and in which directions)
And I think it is a little bit confusing how your explanation of
(1) BSDF vs. BTDF
and your explanation of
(2) specular reflection vs. glossy/diffuse reflection
were kind of intertwined. Those two things actually have nothing to do with each other. A BRDF without a transmission (BTDF) component can still be either glossy or specular. Or glossy/specular + diffuse.
Besides a interesting sidenote:
did you know that a diffuse surface is interestingly not the same as a very rough glossy surface?
A glossy shader is when you have a surface roughness that turns a specular reflection into a more blurry glossy reflection. But a diffuse shader is not a rough specular surface. So what is a diffuse surface?
Interestingly in real life a diffuse surface is also subsurface scattering.
But the distance between the point were the light enters the object and the point were the light ray leaves the object again (after all this scattering under the surface) is so close that we set it to zero. So it basically looks as if the light ray had just been scattered from this exact point were it entered the volume below the surface. Therefore we do not use an actual subsurface scattering shader.
We only need a subsurface scattering shader to describe the distance between those two points were the light ray enters and were it leaves the surface again. A BSDF cannot describe this distance that is only possible with a BSSRDF/a real subsurface scattering shader. But if that distance is very small then we can just neglect it and set it to zero, which allows us to use only a simple diffuse BSDF instead.
I learned some of that stuff in computer graphics lectures and some of it I learned here: ua-cam.com/video/j-A0mwsJRmk/v-deo.html
Oh my god that comment of mine got really long. :D
You're right. I do think I did a poor job of explaining that. I wasn't aware of the difference in the function of the BTDF though, I will absolutely look into that more. Thanks for the link to the lecture!
Sorry for being so critical this time. Some time ago I did a seminar about this topic for about a semester and read a lot in papers about microfacets and BSDFs. You probably only looked into it for about a week when preparing for this video. So mistakes can happen. :D
Actually when I think about it maybe when you have a very thin glass sheet probably it might be possible to define a BSDF that considers both sides of this sheet in one evaluation. And then you would model only one infinitely thin surface in blender without any solidify modifier or such.
But I don't think blender's glass shader works that way. In blender your glass objects must have some actual volume. So for a glass sheet you would need use the solidify modifier (or extrude a little or something) so you get two surfaces, one for each side. And then both of these have a glass shader each with their own BRDF and BTDF. At least that is my understanding.
But probably when you model for example a leaf for a tree with only one polygon or some surface without thickness. And you use some translucency shader or such. Probably then your explanation is not so wrong. But still a little confusing, I think. I think a sketch of a single surface would be clearer for the explanation.
And to be honest I am not sure whether the presentation in my link does explain BTDFs. But you might learn some interesting stuff about what is diffuse reflectance and what is the difference to subsurface scattering. (its basically the same. It just depends on the averate distance that the light scatters under the surface, which shader you will use. At least that is how it is explained in that siggraph presentation.) And also he explains microfacet models (=how rough surfaces reflect light) :D
Thanks for the lesson, Professor.
This is widely used in daylight simulations also in RADIANCE. They are difficult to make, however.
thanks so much for this , understanding what goes on in the scene makes it a heck of a lot easier , it'll be cool if you also had visuals to explain how this works , this is something ive been thinking of doing myself
Thx2U 4 this. U made it REALLY easy for me to understand this complex idea, and that's rare when trying to learn anything.... computer. I watched another video of ur's, but u were WAY over my head, so I thought "Ok, well CG Cookie.... yeah, I might come back to his channel once I'm a wiz at Blender, but he's speaking Martian, atm... very, very fast Martian." But I was wanting to understand shaders today, and u pleasantly surprised me. U sir, get a Like AND a sub. Thx2U!
There were a few small mistakes that I can ignore but one of them is flat out wrong and might point people into the wrong direction. Roughness and glossiness is NOT the amount or ratio of light being reflected versus transmitted. Roughness is yet again an approximation of the behavior of micro surfaces. Meaning, if you imagine taking a microscopic look of your surface the "mountains and valleys" of that micro surface will reflect and transmit light into various directions, furthermore, the rougher the surface is the wider the angles are, kinda like if it's distributing the specular component through the surface. check out ths "microfacet part" in this page: learnopengl.com/PBR/Theory for a more detailed explanation.
You're correct, but I think you misheard me at 5:25. I'm say that roughness determines how much light will be scattered upon reflection and how much light should be specularly reflected upon reflection.
0:47 No, it has to do with the length of the name. The ones that omit “BSDF” would probably have gone over a 21-character limit or something. What actually makes them a “BSDF” is the light-green output terminal.
Though you may have a point about the volume shaders...
Come to think of it, it might actually make more sense if the “B” stood for “Boundary” ...
The only nodes up there that don't have BSDF are utility nodes, volume nodes, and the two nodes that I pointed out later in the video. These nodes utilize a BSDF for light scattering because no light scattering needs to be done. An easy way to validate this is to look at the shader outputs of BSDF and non-BSDF nodes. The BSDF nodes all have a "BSDF" output, while the others vary in their naming scheme. imgur.com/a/aY12ctz
Boy
Seeking
Dominating
Female
Jk ;P I seriously appreciate this video and whole CGC Weekly series, my favorite element of CG Cookie Blender Training :)
WoooooPSHHHH!!
it's funny i was looking into this subject last week, great explanation but i kinda wanted you to pick some exemple of other render engines like vray who use brdf and show some visual comparaison between brdf and bsdf, and also talk a little bit about raytracing vs path tracing because it's the same subject after all
Very interesting, Thank you for making this video!
Now we just need a comparison with the PBR model
The Principled (PBR) Shader is also a BSDF, so there's not much to compare! They're two different parts of the equation.
Thank you!
But it’s such a mouthful to say. It’s crying out for a pronounceable form.
Should it be “buss-duff” or “biss-diff”? Suggestions welcomed!
Super Cool!!!
another informative video.
i dont understand. What the point of labeling it diffuse bsdf when you cant choose a non-bsdf diffuse?
its like adding the word "unbiased shader" onto every shader name.
Cool!
Very good
Big difference between bsdf bdsm 😂🔥 don’t confuse them! I do 😏
Wait so... it's not "BS distribution function"?
Good explanation, even though maybe not completely correct in all aspects as Philipp pointed out earlier. But by the way, you messed up "Transmittance" as well, not only "Altitude" ;)
nice!!
1:59 Might have something to do with the fact that the light can cross the boundary in either direction.
If you're interested in looking at the "Bidirectional" part of the BSDF, you can check out this video. It summarizes things pretty well: ua-cam.com/video/4QXE52mswIE/v-deo.html
That’s only for reflectance, though.
Lawrence D’Oliveiro Refraction works on the same way. It also uses an azimuth and altitude angle to calculate it's scattering distribution.
So whats the GGX, Multiscatter GGX, and Beckmann that gose with those BSDF for?
Those are different algorithms -- computational models for how the actual physical phenomenon behaves.
Lawrence D’Oliveiro
Ahh, I thought so, but now I want to know how each one of them effect the material because its hard to see that in rendering. Im hopping someone could make an in-depth video about it you know.
Thx🐾
This has to do with the microsurface model which is used to describe the scattering of the light on rough surfaces. Like how a specular(=mirror like) surface is turned into a more glossy surface (= more blurred reflections) with increasing roughness of the surface. GGX and Beckmann are different formulas to describe basically how many of your microscopic microsurfaces are oriented in each single direction. Like how many microsurfaces are oriented horizontal how many are tilted 30 degrees to the left, how many 20 degrees to the left, how many 20 degrees to the right, and so on. GGX and Beckmann both take into account the roughness value of the shader. Like for example when you set the roughness to zero, then 100 % of the microsurfaces will be oriented horizontally.
The Multiscatter thing is defines whether a light ray can be reflected multiple times during a single bsdf evaluation.
It is explained here:
ua-cam.com/video/JtBTffVVa-c/v-deo.html
Philipp's Blender Stuff
Wow thx that was really what I wanted to know thx 🐾 😃
o, i i guess BSDF is "blender shader data file" 😂
good guess haha!
What does holdout do?
So... it dont mean "Bull-Shit De-Fragmentor"?
I've wondered what BSDF stood for. Thanks for explaining XD
I understand nothing
BSDF Bidirectional Scattering Distribution Function
I think its a function
Right? :)
my fav shader still is bdsm ;)
Bible Study Definitely Following (Christ)
Woow
o FRONTAL-TEACHER ??! - iT`S a long Time ago to set BLENDER-TUTORIAL with all Learning INSTANCE INCLUDED reduced to a WHITE-BOARD black MARKER so long version 0.667
I guess I am so late
Acronym not anagram :)
BDSM
Interesting.. .-_-
yeah nice 3d class ... hahah...
:)