Physically Based Rendering for Artists

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey there ladies and gentlemen and from Maxim up here with you tonight and to now I wanted to talk to you guys about physically Bayes real-time rendering aimed specifically at artists and made by artists because this is a very hot topic lately and apparently all the info we've got to go by is mostly provided by programming folks so I thought that would be cold - you know sit down and do something that is more Art Center I can't really talk about any piece of tax specifically of this actually is a good thing I think then we just get to cover more sort of general basics behind how everything works I was obviously too lazy to do most of the slides so that's why I borrowed them from different people and if you wanted one of the kind folks who did that and posted that online then thank you very much and I'm sure probably won't created every single person in the video as I go but I make sure to post the links to where I found those slides in the description so yeah let's get going the first thing that you will notice is that physically based shading in next-gen game means no more specular specular was an approximation because we couldn't actually do realistic reflections sufficient enough but now we can so yeah goodbyes back hello reflections and they're looking really good and it's well it's definitely a step in the right direction schist this is probably one of the last biggest sort of compromises that we have to make that I can think of but before we go into that I wanted to take you guys through the basic line theory real quick just refresh the memory of those who are perfectly familiar with us and also you know help people get up to speed there are really familiar with that so basically your usual lighting tents of your diffuse component and your reflections and your reflections and your translucency I guess well translucency is a sort of a refraction just coming from the other side but the main thing that I wanted to touch upon here is that the difference between diffuse and reflection is that reflection is camera or viewing angle dependent whereas diffuse is basically you know sort of a static kind of reflection that you perceive no matter what angle you look at an object from and while we are in the subject the other very important thing here is that we are now adhering to more physically correct lighting system right and that actually means that we have to adhere to the first law thermodynamics which states that energy just can't come out an hour for us or a texturing folk this means that every kind of material contribution that we get has to be less or equal to the incoming amount of light that if used the reflection the refraction should all amount into the the amount of light the light environment provides us what this means for us is that for example if we're having a more reflection that means that we're decreasing the diffuse contribution and the refraction contributions so there is no more than limited brightness and just getting you know flight energy out of the air and you're probably might've heard you know some people talking about you know as something becomes increasingly reflective diffuse going black and stuff like that and this is basically where it comes and it's it's actually quite logically makes sense and it's sort of demand nothing extra from you but it's really cool and important to keep in mind and we'll touch upon energy conservation somewhere down the road today too so yeah the other thing that I just real quick want you guys to know is that previously when we work with our engines we rely on gamma cracks a cyclic Amma correction is an adjustment that the final frame received before outputting two monitors to make it you know look a bit more contrasting and pretty but would that meant that meant that the actual pixel values in terms of what hue/saturation value right the brightness we're necessarily representative of the of the amount of light energy that they carried so as you can see here in this chart the brightness of 0.5 on the scale from 0 to 1 wasn't actually 127 in terms of pixel value value but 187 and this is because of the gamma correction but right now everything is linear and in case you're you know looking around I'm just talking to your programmers about implementing physically based shading approach you got to keep in mind that it's pretty much impossible without linear approach to this so linear you know graph would look like this basically where the correspondence between the brightness of your pixel is exactly the same as you know the light energy that it carries and this is what we have now hopefully in or you will have in the engine that you're working with and just as a quick example to decide you see black and white pixels just like sort of blend in together and you can just probably judge the 128th and brightness that huge rectangle up top looks at a too bright to be the median of the of the columns to the left and to the right and yet now that you're just fully aware of your pixel brightness values meaning your light energy let's go on to the first very important thing that awaits us with a physically based shading and this is the separation between metals and dielectrics and basically these are just two groups and they shade slightly different and I guess most of the topics that we're going to be covering here tonight is basically the difference between the two and the thing that I like to start with would be this chart and it's actually incredibly helpful because it holds a lot of very useful information so here at the bottom of the graph we have angle of incidence which basically means what will the angle that you like heats your surface so like the facing angle would be the zero that we see over here and this basically means black right and ninety degrees is the difference between your light gray and your you know surface normal and you know at crazy angles it basically gets brighter and I guess I guess a good example of that is that if the angle is actually 90 you just have light sort of just brushing right by your surface never actually heating that which basically means that 100% of it is reflective so I find it to be a nice way to think about it because it's sort of pretty self-explanatory and the main point that we want to you know pay attention to here is that as you can see here up top we have our metals and up here too but mostly dielectrics tend to be at the bottom and as you can see the metal stay more or less constant as they go in only you know get brighter in their reflections slightly at grazing angles compared to dielectrics this is very interesting because basically what that means it means that we get different reflections at different angles and in dielectrics and in metals we get different kinds of variation in that so if we take a look at for example this sort of wooden had a lacquered layered material thingy you can see that the more grazing bangle becomes the more reflective the surface becomes and this is one of the biggest differences between the electrics and metals where the electrics actually become more reflective way more reflective compared to you know their initial birth like tivity facing angles so a grazing angle then become more reflective where as metals they also become more reflective of grazing angles but generally they are way more reflective to begin with so your angel will probably have a way to you know specify whether the surface is metal or dielectric and this is a thing number one that you define doing that but let's keep on looking at that chart specular sort of a big thing right it basically defines how reflective your surfaces but it's kind of tricky so say you met and metallic Ness is basically like a binary value for a surface right it's either metallic or it's not and you know generally specular for like a uniform material would also be just a constant and this chart here and this low blue frame basically shows that little area where we see the reflectivity of our materials so I could enough say this was chrome up here that would be the reflectivity of Chrome which is like 0.95 metal is way more reflective than the electrics to begin with and remember us talking about energy conservation that factors in here a lot because basically the more reflective something becomes the lesser is the diffused contribution and this is really interesting right because basically for some very bright metals like what we have here their diffuse contribution is basically non-existent so like for most of your metals you technically you won't even need diffuse because they are so reflective that you can't even see it and if you try right now just look around the room you will probably see that most most of the metallic objects that you have in here they have you dependent sort of optical quality to them and that basically means that they are more reflective than their diffused in terms of the specular reflection that we get and this basically means that yeah right now to keep it more physically accurate most of your metals just don't need a diffuse map and that makes it very interesting and tricky and you know gives you some room to think and optimize how this and that could work for example some engines just basically use your diffuse or albedo texture as the reflection texture as a specular texture for metals they basically just switch that but say what about dielectrics right and thank here is that when you look at this image that we are seeing right now you can see that metals have colored highlights like their reflections actually are tinted because they are like different wavelength whereas the electrics usually just have you know plain old light or just you know sort of real-world color to relate color reflections it means that your d electrics don't really need a full color specular map they just needed a float value just like a number whereas metals actually need one because they are colored so this provides a very interesting dilemma for offering specular textures because your metals need a colored basically an RGB specular textures but they don't need a diffuse and I'll video most of the time where's your dielectrics just need a single color not in a single color it adjust like a single channel for their specular map and they they do have Alli rely on their diffuse though another really cool way to look at this is oh yeah actually most of those sort of values can be measured in real-world and it's greatly useful for metals because you can just you know specify color for them but for dielectric here's a fascinating example for you guys that basically shows that everything is killer like some people usually tend to think that some rough fabrics or like cardboard though we see here is you know completely rough and basically devoid of any specular intensity but as it turns out it's not completely the case on this example which is basically shot in like a home studio set up with a polarizing filter that allows you to separate your specular contribution from your diffuse or albedo contribution here you can see that some very sort of own specular things that you would at least it that you would think of as being a specular right like cotton shirt or jeans aren't shiny right they actually still exhibit a pretty strong specular contribution it means that since we are making a lot of optimizations right specular is probably the mouth where it can cut corners most in the next generation because you know your metals could use your diffuse map as their color specular thingy and most of the electrics actually can get away with just a generic value for their specular city and you can just control the definition of the surface with your roughness or your glossiness just so that you guys are not confused whenever you see some engine or whatever tool you use not actually having a specular input another way to look at it is that specular is mostly used for you know darkening stuff like if you have some places like reflections and where ambient occlusion is supposed to be and you don't want to see there because it sort of breaks the illusion then that's what your mostly will probably use your specular you know input slots in your shader unless this is like a complex and very precise material that you really really want to make a full own you know specular map for yes since we touch slightly upon roughness and glossiness let's just talk about that a bit usually we are used to gloss maps and the term itself but there seems to be some confusion about what the term actually means indica pedia solidified my doubts on that account because basically sometimes people refer to glossiness as being two completely opposite things where what feels to be the right meaning being something that is you know shiny and reflective and has sort of a sharp highlight to it or sharp reflection some people actually use it in a complete opposite sense where something with a very diffused reflection and you know blurred and here I think the term roughness helps a bit where basically you know helps you also understand what's going on a bit talking about the physics of it so roughness is basically how rough your surfaces and here you see like a micro geometry slide basically shows how light sort of gets diffuse and just sort of reflects in different directions upon heating your object basically the idea behind this is that the rougher the surface the blurrier the reflections get because the light just gets more and more scattered you know whatever way you choose to call it at the end of the day either roughness or glossiness this is you know what's a work here one thing that is also important to remember something that is sort of from the previous generation that didn't care too much of that right now we adhere to the laws of energy conservation that means that the wider the highlight becomes the dimmer it has to get because we can get energy out of nowhere so yeah the the more spread the light energy is the the Demirtas and once again this is mostly controlled by your light environment and actually see it as a cool thing because you know you have less opportunity to make mistakes or just to make something that is not physically plausible not realistic and that can sort of break your image so yeah just keep it in mind for your gloss knife slash roughness maps if you want to talk about authoring those here's just the minute a slide that should provide you some reference but basically the cool thing about roughness is the sort of self-explanatory right and you can just you know grab examples from real world and try to see how you know how things will work but there you know you can't really physically accurately measure it like with all that specular crap so basically just trust your gut and make sure that it looks like the kind of surface that you want it to look like I guess the white being super you know smooth and sharp reflections and black being so diffuse that you know you can hardly see if I will see you know your reflection so authoring that shouldn't be too hard and you can just trust forgot on that I'm pretty sure that there's very little room to get that wrong the other very important thing to know here is how do you treat the materials that are combination of metals and dielectric see if they're layered and ones on top of the other how does that behave and basically the idea is that the top most layer provided it's thick enough dictate the optical properties of your surface so if plastic is painting with metal it appears as a metal right and if metal is painting with math pain then it appears that the dielectric so yeah not to nothing too hard here and finally we're you know getting our last subject which is Obito and I'll be like actually the word LBO some people just you know still miss the girl diffuse but the idea here is that diffuse and albedo are two different things we sort of have that notion of you know well diffusers been around for quite a while right and we've all got used to it and we are obviously sad to see it go but diffuse was texture that just approximated the surface lighting and color and being occlusion and even specular and whatever else we had at any given time you know the history of video games but elpida works a bit different albedo is basically just the surface color if you want to put it like that it's like it has zero ambient occlusion although some companies actually keep some and there is nothing bad about it once again because screen space per pixel ambient occlusion is not as good yep probably most engine that will just be able to convincingly replace and be an occlusion in albedo tetras all together but some choose to get rid of it and I mean it obviously depends on your tech the other thing is that now there has to be no specular in your textures and for that you use a polarizing filter for your camera and it actually allows you to just get rid of the of any rays that are sort of hidden your camera lens at facing angles and just get the diffuse light that you want in your Obito textures and the last thing is you know doing some proper lines and color correction because I really like that image that we have to the right because it shows you how different the color and the brightness of a surface could be and you know you will just never know so they did here right it's not that crucial if you're making your stuff for just this one particular spot in your game then as long as it looks good it looks good right it doesn't matter but with you know physical physically based shading and physically correct materials you probably want to reuse that stuff as much as possible and this is where this comes in because the more physically I've heard your stuff is authored the more usable it becomes because you just don't need anymore tweaking nail for every specific lighting conditions or color scheme in your level that you might have and this is just you know a way to do things nicely from the get-go basically and yeah that's about it guys okay so to recap real quick physically based shading no more specular hello reflections and now we're you know physically accurate so that means that we have to adhere to energy conservation laws your diffused plus reflection plus refraction cannot exceed the amount of incoming light that your lighting environment provides also make sure that your engine operates in linear space sort of laws and your texture pixels actually represent the amount of energy that the surface transmits so the biggest difference that we have is the difference between the electrics and metals because they have different optical properties to them and the biggest thing here is that a you know we now have free nail reflections because dielectrics down here at the bottom they aren't very reflective at facing angles they get super reflective at grazing angles whereas metals are just almost always reflected which means they don't really need too much of a diffuse texture in the first place so this would be the biggest difference as you can see here and now you know going on to specular because your metals are so bright their sky color contribution is super intense which means that they don't really rely on diffuse a lot whereas the electrics realign diffuse a lot but there's a catch and the catch is that dielectrics rely on just float values reflectivity because they reflect white light you can CLE as it is whereas metals they absorb some waves and you know that's why their specular reflection is colored also one thing to know is that everything is specular no matter how basically on specular it looks it's just the amount of roughness that the surface gets but something even that looks as you know not shiny as a pair of jeans also actually you know possesses a fair amount of specular reflectivity to it and basically it's mostly controlled by a roughness how your own surface will be perceived in this generation so you want to take care of that and you know the rougher the surface the bluer the reflection but also the dimmer the reflection because of the energy conservation laws and offering it is pretty straightforward just look at this reference image or just trust your gut and most of the time you will get a right also you know plastic painting with metal shiny stuff will just have metallic optical properties where as metals painted with something that is a deal a thread will have a dielectric appearance and authoring albedo means removing ambient occlusion or just leading to Smigiel it in there and removing your specular contribution and hopefully adjusting for your lens and your color of your lighting or whatever else you have in your scene of your lens see so yeah that was a hope you guys enjoyed that and just to sum it up real quick the benefits of using the new physically-based shading number one is that stuff looks better and that's really important real nice provided you author it right also since almost always physically plausible you have a smaller chance of making stuff look unnatural which means less I wouldn't say realistic just Pleasant in general right because this kind of approach you can use than many a Disney stylized kind of movies but still it just we still have to you know base our fantasies on some kind of reality and this also you know touches upon the way that the light is Chris meted and how it works no shame in making it a bit more natural in terms of lighting doesn't mean that we're limiting our stylization in any way the other thing is that since it's more consistent it's more reusable and that and then the end of the day provides a lot of potential for usability some engines use some very cool stuff to allow you to author the stuff just once and then just propagate that across the entire game also since most of that stuff is physically accurate you can actually measure it which means that it's easier to author most of the time lining normal app stayed the same right so we still have to go through all the processes that we were so used to but some things you know got easier like so yeah thank you guys so much for your time it wasn't for maximum here for you I hope I made it easier for you guys and didn't just confuse you more if you have any questions don't hesitate and it will be shy to hit me up I'd love to help y'all you know any way I can and yeah that's about it you guys next time keep it pretty
Info
Channel: Andrew Maximov
Views: 103,236
Rating: undefined out of 5
Keywords: Video Game (Industry), Video Game Development (Industry), rendering, Physics (Idea), optics, Computer Graphics (images) (File Format Genre), Computer-generated Imagery (Film Company Role Or Service), BRDF, PBR, Albedo, Roughness, Specular, Glossiness, Normal Map, Artist (Job Title), Andrew, Maximov, Artisaverb, Artisaverb.info, Fresnel, Metals, Dielectrics, Reflection, Refraction, Transmission, Diffuse, Light, Next Gen Games, PS4, XBox One
Id: LNwMJeWFr0U
Channel Id: undefined
Length: 24min 53sec (1493 seconds)
Published: Wed Sep 04 2013
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.