Real-Time Physically Based Rendering: A quick explanation

Тәжірибелік нұсқаулар және стиль

This video will explain what PBR is and how to create textures for it. English subtitles available.
If you're interested in more of the math, Brian Will has published a good video on it • OpenGL - PBR (physical...
I've got free stuff on my gumroad page: gumroad.com/cubetutorials

Пікірлер: 49

  • @3DArtProducation
    @3DArtProducation5 жыл бұрын

    Errata: In this video I make it seem like the photons colliding with a metallic surface will be reflected before any form of absorption behavior takes place. That is not the case. Sending a photon back out again is a secondary effect in the interaction process. There is always an interaction between the photon and the atom. So refracted light interacting with metallic atoms will have interacted and been changed, and not simply bounces off the surface as wrongly implied in the video regarded refracted lights on metallic surfaces. But because the light structure of refracted light tends to be less distorted upon exiting the surface, there is a greater sense of reflection in the refracted light than light coming from non-metallic surfaces. So while the color of the light has changed, the structure of the light is often similar, so it would be possible to see the reflection of the surrounding area in a different color than what it really is, which is different from specular light. The graphic on 05:38 says Microsurface factor when it should be Specular factor

  • @svivan20
    @svivan203 жыл бұрын

    Ok got 2 things clear from these video I had problems understanding before! First is the 3 light behaivors at 0:44 that PBR channels try to simulate. The other fact cleared is that glossiness and roughness are the same thing but inverted at 6:00! Thank you so much!

  • @selicatoart3362
    @selicatoart33623 жыл бұрын

    you don't know how much you're helping me right now. Thanks a lot!

  • @AshishBorakhadikar1003
    @AshishBorakhadikar10035 жыл бұрын

    PBR is so interesting and this video has sparked the "know it all about PBR" Thank you for this really good explanation. enjoyed it completely. I think i would understand Substance Painter /Designer better now. Thank you so much!

  • @gunesmtl5912
    @gunesmtl59125 жыл бұрын

    Excellent.Thank you.Waiting for more videos :)

  • @nicolaizafra9705
    @nicolaizafra97057 жыл бұрын

    Thanks for educating me sir, I appreciate it :)

  • @NickEnchev
    @NickEnchev4 жыл бұрын

    Great explanation, thank you!

  • @khybot
    @khybot4 жыл бұрын

    thanks. concise and well explained!

  • @Aerydna
    @Aerydna4 жыл бұрын

    great video, simple and clean

  • @6plusiota9
    @6plusiota92 жыл бұрын

    great explanation, thanks

  • @infideluxe
    @infideluxe5 жыл бұрын

    Beautiful overview. Thank you.

  • @killianrocky3431

    @killianrocky3431

    3 жыл бұрын

    Pro tip : watch series on flixzone. Been using it for watching loads of movies recently.

  • @oakleyjensen6172

    @oakleyjensen6172

    3 жыл бұрын

    @Killian Rocky Yea, I have been watching on flixzone} for since december myself =)

  • @fabianwinston7371

    @fabianwinston7371

    3 жыл бұрын

    @Killian Rocky Yup, I've been using Flixzone} for years myself :D

  • @lincolnjudson8172

    @lincolnjudson8172

    3 жыл бұрын

    @Killian Rocky Yup, I've been using Flixzone} for months myself :D

  • @raianislam3610
    @raianislam36104 жыл бұрын

    Thanks bro....it helped me a lot

  • @FabiolaFaby
    @FabiolaFaby3 жыл бұрын

    Thank you! :D

  • @lahcenechel1855
    @lahcenechel18556 жыл бұрын

    i came from blender en up here ,very good tutorial a request maybe will be taken in consideration on the future .types of shaders on the 3d world one by one explained and maybe some practice of the theory on a 3d software to see it in action it will help to understand more thanks again a lot you have the talent to make things simpler .

  • @3DArtProducation

    @3DArtProducation

    6 жыл бұрын

    Hi, thank you very much for your feedback. I will remember it as I make future videos. In this particular video I wanted to make the theory software independent, but I think you are right that there should be some footage with the theory in practice. I will find a better balance for it for future videos.

  • @georgerussell2947
    @georgerussell29474 жыл бұрын

    What about roughness?

  • @cryora
    @cryora5 жыл бұрын

    Ah but what about light polarization and Brewster's angle?

  • @glowiever
    @glowiever4 жыл бұрын

    how would one implement it in opengl es shader? the es versiom does not support texture lod lookup which is required for roughness.

  • @danieleccleston7928
    @danieleccleston79283 жыл бұрын

    I want to try implementing these concepts with opengl

  • @JoeIdolChannel139
    @JoeIdolChannel1397 жыл бұрын

    Sorry if this is a stupid question. I still don't understand. Why there are others "physically based" terms beside "rendering" such as physically based shader, lighting, and even for animation. What's the meaning of those? What's the difference? Sorry if my English is terrible.

  • @3DArtProducation

    @3DArtProducation

    7 жыл бұрын

    Hello! No it's a good question. The word "physical" is used loosely in computer graphics. It's mostly a marketing term that the creators can use because they feel the behavior resembles "the real thing" and so on. What it usually means is that the behavior of the light or object changes relative to other forces and elements within in the scene. Physically based lightning, for instance - can mean that the behavior of the light ray will change upon the interaction of a surface. For instance if white light enters a surface and resurfaces as red light, - the surrounding surfaces will maybe also be shaded red (to a small degree) from those emitted rays. The "maybe" is because the other surfaces might simply absorbs the red light, so it does not resurface again to hit our eyes. If the light was not(!) "physical", then it would bounce off the surface as if it had never really interacted with the surfaces, - and continue to shade surfaces as if it still was white light. Yet the surface which was hit is still colored red. That does not make sense in a real world scenario. This is just one example of what could justify using the term though. There are plenty of other behaviors of light that can be imitated. [Author note: This is further elaborated in detail in a following comment] As for physically based animation, it can mean that the objects in the scene can be given a weight based on the size and material class, which will change its behavior when interacting with the gravitational factor within the scene. For instance, if the arm of a character goes limb, how fast will the arm fall into a resting position? The renderer will have to calculate this based on its weight and the gravitational down-force. Physically based rendering, shaders, materials and so on are called 'physically based' because the data which is fed to the shader is broken into individual data parts which can be used to shade the surface in a similar way a real surface is. . What is the color of the re-emitted light? (albedo) How much does the submerged light scatter? (metallic) For the light rays that simply bounces off the surface without submerging, how large is the spread angle? (microsurface) Older shader types which are not physically based shade the surface through more simplified and abstract data structures. Diffuse and Specular, for instance. Specularity was basically a metalness-roughness hybrid which decided the luminosity and size of light sources directly visible in the reflected angle. A dedicated roughness channel was not really a thing. There was simply a set hotspot-value which decided the sharpness of any direct lightsource which was reflected into the camera. And sometimes, there was another slider which you could use to reduce the luminosity so you could have a large specular coverage of the surface without overexposure. It depended on what specular model the renderer was using. But the value was set in stone and affected the entire material surface. Imagine trying to draw a surface which was part noisy and part polished. The hotspot sharpness would be the same across both the noisy and polished part. It was really difficult to make convincing surfaces this way, as polished surfaces reflect light more uniformly (thus sharper hotspot) than unpolished surfaces (scatters into many directions). Edit #1: Fixed (I hope) a very confusing sentence. Edit #2: Added a bit more clarification in the lighting paragraph. Edit #3: Some typos.

  • @JoeIdolChannel139

    @JoeIdolChannel139

    7 жыл бұрын

    cubetutorials Wow, that's a very detailed explanation. Thank you. So, if we use "physical based rendering" technique does it means we also using physical based shader, lighting, etc at the same time too?

  • @3DArtProducation

    @3DArtProducation

    7 жыл бұрын

    Not necessarily, but both offline and real-time renderers are capable of "physical" light behavior to a minor degree so it is often the case. The short answer is that the term "physically based" is a bit meaningless when it comes to lighting. Lighting in 3D graphics has been referred to as physically based since shaded surfaces was invented. So it's basically a buzzword. Not many use it. It's difficult to market the term "physically based lighting" because it is hard to know what defines it. How many light properties do we have to emulate before it really resembles real lighting, and deserve the use of the term? And then there is the question of technique versus visual result. There are two major techinques used today in 3D computer graphics. The ray-cast technique (computationally intensive but accurate) immitates a lot of the actual photon behavior through these rays. This is used for offline-renderers, because the technique requires so many calculations that our hardware are not capable of rendering it out in the required screen resolution fast enough. The other technique is photon mapping, which creates texture maps that stores the ray data per texel (per point in the texture, often referred to as a pixel but a pixel is a LED on your screen, common misconception) before runtime. This means there is no need to use raycasting for scene reflections and light scattering at runtime. The data for this is stored within textures for each object. You've encountered this technique when Unreal Engine or Unity has asked you to bake the lighting or lightmass, etc. It is basically why real-time 3D graphics kick ass today. So when someone says the lighting is physically based in a real-time renderer , they probably actually mean the visual end result, and not the method and technique of which it is created. Since offline renderers use ray casts for pretty much everything in the lighting process for the scene, it is much more similar to physical light in its technique. It is therefor more fair to refer to it as physically based than the photon mapping technique. The photon mapping technique uses rays to create the textures, but the visual effects are made through the textures and not actual rays at runtime. So this is the technique versus visual result thingy. But the video game industry has done a good job at shying away from the term physically based lighting to avoid this confusion. They have instead called the visual effects they have been able to emulate for what they are. They do use different words for the same thing however, which can be confusing. Global illumination, indirect illumination, and diffuse inter-reflection are all the same thing for instance. They are all the visual effect of the surface color of a surface appear on its neighboring surfaces etc, which we have been talking about so far. If you wanna go balls-deep with this you can search for Henrik Wann Jensen High Quality Rendering Using Ray Tracing And Photon Mapping (siggraph 2007) and Peter Shirley Physically Based Lighting Calculations For Computer Graphics (B.A 1985). I casually read them here and there ones in a while. There is a lot of things to learn from the texts, even if you're not very mathematically adept.

  • @JoeIdolChannel139

    @JoeIdolChannel139

    7 жыл бұрын

    Thank you, now I know a lot about those terms. I'll check out the references.

  • @Eugensson

    @Eugensson

    7 жыл бұрын

    «Physically based rendering» is usually defined by having following properties: 1. Every material respects the law of conservation of energy (objects do not glow by themselves, only reflect, no fake specular light); 2. Every material respects Fresnel reflection (it is always present); 3. Materials are traditionally grouped into two categories: Metallic and Dielectric.

  • @user-iy2jb8st3u
    @user-iy2jb8st3u3 жыл бұрын

    I want to know what kind of BRDF Model used in this video? Cook-Torrance, Disney principled or some others? I'm realy curious about it. And do you have some blogs or articles which explain how to implement it, thanks a lot.

  • @3DArtProducation

    @3DArtProducation

    3 жыл бұрын

    Hi! I just rendered out these images in Substance Designer. Implementing is a bit above my pay-grade. I read about 3d programming but I don't write it. I just appreciate having a theoretical understanding of it when I work with art production. Sorry I can't be of any help.

  • @aldairgonzalez860
    @aldairgonzalez8605 жыл бұрын

    Is there a book about this topic? or an article? where I can get more information?

  • @3DArtProducation

    @3DArtProducation

    5 жыл бұрын

    Hi! For references I used Real-Time Rendering, 3rd ed, ThomasMöller, Eric Haines, Naty Hoffman, CRC Press 2015. And various articles on photons where the book did not suffice. I couldn't find the perfect book for me either, sadly, I don't think there's a book out there which thoroughly explains it equally well scientifically and in 3D rendering practice. The book mentioned is quite nice though if you want to understand the rgb shaders. And you don't hate math formulas.

  • @aldairgonzalez860

    @aldairgonzalez860

    5 жыл бұрын

    Thank you so muhco for the info, I'm curetly working in a real-time project and it's making me have a lot of questions.

  • @GrayOlson

    @GrayOlson

    5 жыл бұрын

    Check out this document blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf

  • @xiaolangwang7602
    @xiaolangwang76025 жыл бұрын

    how to do transparency?

  • @3DArtProducation

    @3DArtProducation

    5 жыл бұрын

    Hi! This depends on the software you are using so it is best to search for 'transparency' and the software you are using. Some renderes reference the alpha channel in the albedo for instance, while others have explicit channels which holds a greyscale image.

  • @xiaolangwang7602

    @xiaolangwang7602

    5 жыл бұрын

    @@3DArtProducation thx

  • @takeyoshix
    @takeyoshix3 жыл бұрын

    Why cant you just use terminology that was used for decades: Diffuse (texture), Specular/Shininess (texture/map), Bump/Normal (map), Cubemap, Ambient.... Albedo, Microsurface etc etc... are you using terms from a specific application? Surely not common OGL or DX...

  • @spaceman-pe5je

    @spaceman-pe5je

    3 жыл бұрын

    diffuse is NOT the same as albedo. that's the whole reason he's explaining this, lol. same goes for specular/shininess map - this whole video explains how with the new PBR standard, metalness/specular color is one map and microsurface details (roughness/gloss) is another. ambient occlusion and bump or normal map aren't important here, as he mentions in the beginning - they have stayed the same. the terms he uses are not specific to any application, either.

  • @goal2004
    @goal20047 жыл бұрын

    You're saying "Albedo" wrong. It's not Al-Bido, It's Al-Bee-Doe.

  • @3DArtProducation

    @3DArtProducation

    7 жыл бұрын

    Oh! Thank you very much for correcting me. I'll be sure to say it correctly from now on.

  • @goal2004

    @goal2004

    7 жыл бұрын

    Happy to help :)

  • @cristiandelolmo9387

    @cristiandelolmo9387

    7 жыл бұрын

    XD

  • @TonyBraun

    @TonyBraun

    6 жыл бұрын

    ...Alb (short for Alba)----->white light... ...e (short for ex)------> out from... ...do-------->I am giving.....

Келесі