What in the World is a BSDF? - CGC Weekly #16

Поділитися
Вставка
  • Опубліковано 27 лис 2024

КОМЕНТАРІ • 67

  • @DerekElliott
    @DerekElliott 6 років тому +40

    Literally woke up this morning wondering what BSDF stood for and figured I should probably know. BOOM THIS VIDEO PUBLISHED TODAY. thx Grant + CGC

    • @DerekElliott
      @DerekElliott 6 років тому +1

      Wut up youtube fam!

    • @WW_Studios
      @WW_Studios 3 роки тому +1

      @@DerekElliott What up you from the past!
      EDIT: Congrats on 100K subs!

    • @DerekElliott
      @DerekElliott 3 роки тому +1

      @@WW_Studios thanks dawg from the future

  • @TooEazyCG
    @TooEazyCG 6 років тому +14

    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

  • @oldheliotrope
    @oldheliotrope 6 років тому +3

    Love these technical aspects Grant.

  • @digitalife8719
    @digitalife8719 2 роки тому

    OMG, I instantly love your video, when you start from the definition of the word! Good job, Thank you!

  • @aliensoup2420
    @aliensoup2420 6 років тому +1

    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.

  • @brickmastertube
    @brickmastertube 6 років тому

    *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

  • @metatechnocrat
    @metatechnocrat 6 років тому +1

    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!

  • @philmsproduction
    @philmsproduction 6 років тому +3

    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

    • @RemingtonCreative
      @RemingtonCreative 6 років тому

      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!

    • @philmsproduction
      @philmsproduction 6 років тому

      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

  • @sandroavieira
    @sandroavieira 6 років тому +1

    Thanks for the lesson, Professor.

  • @mathiassnderskov7214
    @mathiassnderskov7214 5 років тому

    This is widely used in daylight simulations also in RADIANCE. They are difficult to make, however.

  • @growbot4987
    @growbot4987 5 років тому

    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

  • @jexterjackson3087
    @jexterjackson3087 3 роки тому

    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!

  • @kebrus
    @kebrus 6 років тому +5

    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.

    • @RemingtonCreative
      @RemingtonCreative 6 років тому +3

      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.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 6 років тому

    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.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 6 років тому

      Though you may have a point about the volume shaders...

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 6 років тому

      Come to think of it, it might actually make more sense if the “B” stood for “Boundary” ...

    • @RemingtonCreative
      @RemingtonCreative 6 років тому

      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

  • @rafaszopa2955
    @rafaszopa2955 6 років тому +16

    Boy
    Seeking
    Dominating
    Female
    Jk ;P I seriously appreciate this video and whole CGC Weekly series, my favorite element of CG Cookie Blender Training :)

  • @abstractwaves6166
    @abstractwaves6166 6 років тому +1

    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

  • @SleepingHollow
    @SleepingHollow 6 років тому

    Very interesting, Thank you for making this video!

  • @dukemagus
    @dukemagus 6 років тому

    Now we just need a comparison with the PBR model

    • @cg_cookie
      @cg_cookie  6 років тому

      The Principled (PBR) Shader is also a BSDF, so there's not much to compare! They're two different parts of the equation.

  • @solenepobelle2639
    @solenepobelle2639 5 років тому

    Thank you!

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 6 років тому

    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!

  • @seyedmortezakamali2597
    @seyedmortezakamali2597 5 років тому

    Super Cool!!!

  • @mohitram6922
    @mohitram6922 6 років тому

    another informative video.

  • @ruudygh
    @ruudygh 4 роки тому

    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.

  • @Igrbessonov
    @Igrbessonov 3 роки тому

    Cool!

  • @davidffortesmeireles5328
    @davidffortesmeireles5328 6 років тому

    Very good

  • @doldrmaster
    @doldrmaster 6 років тому +4

    Big difference between bsdf bdsm 😂🔥 don’t confuse them! I do 😏

  • @MrtinVarela
    @MrtinVarela 6 років тому +1

    Wait so... it's not "BS distribution function"?

  • @gordonbrinkmann
    @gordonbrinkmann 6 років тому

    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" ;)

  • @cedrusatlantica914
    @cedrusatlantica914 6 років тому

    nice!!

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 6 років тому

    1:59 Might have something to do with the fact that the light can cross the boundary in either direction.

    • @RemingtonCreative
      @RemingtonCreative 6 років тому

      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

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 6 років тому

      That’s only for reflectance, though.

    • @RemingtonCreative
      @RemingtonCreative 6 років тому

      Lawrence D’Oliveiro Refraction works on the same way. It also uses an azimuth and altitude angle to calculate it's scattering distribution.

  • @Dvilad8
    @Dvilad8 6 років тому +1

    So whats the GGX, Multiscatter GGX, and Beckmann that gose with those BSDF for?

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 6 років тому

      Those are different algorithms -- computational models for how the actual physical phenomenon behaves.

    • @Dvilad8
      @Dvilad8 6 років тому

      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🐾

    • @philmsproduction
      @philmsproduction 6 років тому +1

      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

    • @Dvilad8
      @Dvilad8 6 років тому

      Philipp's Blender Stuff
      Wow thx that was really what I wanted to know thx 🐾 😃

  • @abiyyupanggalih854
    @abiyyupanggalih854 6 років тому +7

    o, i i guess BSDF is "blender shader data file" 😂

  • @SlyNine
    @SlyNine 6 років тому

    What does holdout do?

  • @raptecclawtooth9046
    @raptecclawtooth9046 6 років тому +1

    So... it dont mean "Bull-Shit De-Fragmentor"?

  • @rubhan94
    @rubhan94 6 років тому

    I've wondered what BSDF stood for. Thanks for explaining XD

  • @blenderlover4884
    @blenderlover4884 3 роки тому

    I understand nothing
    BSDF Bidirectional Scattering Distribution Function
    I think its a function

  • @rideFOX1014
    @rideFOX1014 6 років тому

    Right? :)

  • @BlenderBeanie
    @BlenderBeanie 6 років тому

    my fav shader still is bdsm ;)

  • @tylermustardloooser386
    @tylermustardloooser386 6 років тому +1

    Bible Study Definitely Following (Christ)

  • @a.i.e5278
    @a.i.e5278 6 років тому

    Woow

  • @chborger185
    @chborger185 6 років тому

    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

  • @devendrapisda3528
    @devendrapisda3528 3 місяці тому

    I guess I am so late

  • @800pieds
    @800pieds 6 років тому

    Acronym not anagram :)

  • @aakashr2101
    @aakashr2101 6 років тому +3

    BDSM

  • @armen4951
    @armen4951 3 роки тому

    Interesting.. .-_-

  • @naeembabakheil
    @naeembabakheil 3 роки тому

    yeah nice 3d class ... hahah...

  • @hasanhuseyindincer5334
    @hasanhuseyindincer5334 6 років тому

    :)