Author Topic: What's up with PBR?  (Read 10715 times)

Hi,

For new users to Substance and PBR in general, I wanted to create a post that covers what I like to call the "What's up with PBR."

What is it?

A method of shading and rendering that provides a more accurate representation of how light interacts with surfaces. It is referred to as Physically-Based Rendering (PBR) and or Physically-Based Shading (PBS). Depending on what aspect of the pipeline is being discussed, PBS can be specific to shading and PBR specific to rendering such as lighting. However, both terms describe on a whole, the process of representing assets from a physically accurate standpoint.

What are the benefits?

1. It can be easier to create realistic assets as it removes the guess work of authoring surface attributes such as specularity since the methodology and algorithms are based on physically accurate formulas.

2. Assets will look accurate in all lighting conditions.

3. Provides a workflow for creating consistent artwork

What does it mean to for the artist?

We as artist need to think differently about the maps that describe the attributes of a surface. There are new map types with rules and guidelines to follow.

We need to throw out the concepts of diffuse and specular maps from traditional rendering workflows. These maps only served as workarounds so to speak for approximating light interaction with materials. Advances in computer hardware and rendering allow us to now more closely simulate the physics of light.

In PBR, the shader handles the heaving physics lifting through Energy Conservation and BRDF while we as artists, create maps that are bound by these physical principles. This means we can spend more time being artists and creating art. While it is important to adhere to guidelines and author maps correctly, it doesn't mean that we now have to disregard our artist intuition.

We don't want to get to overly caught up in the physics. Just because we are working in a more physically accurate environment doesn't mean that we can't do stylized art as well. Disney's physically-based reflectance model was designed to be a "principled" approach and geared to be art-directable rather than a strictly physical model. So we should know the principles and utilize the guidelines, but not be slaves to them.
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

A great idea to have a unified place to go for PBR information.
Freelance 3d Artist Modo Substance
Mark TomlinsonMarkBTomlinson - Substance Tools Group

Agree, great idea putting this together.

A great idea to have a unified place to go for PBR information.

Hi Mark,

That's our goal. We created the PBR Guides to consolidate information and added the PBR board for community discussion. In Vol. 2 there will be videos as well as PBR specific utility nodes.

Lots on the way!

Cheers,

Wes
Last Edit: January 09, 2015, 02:42:52 am
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

I'm looking forward to the future when I can paint PBR eggs on a character.

I just rewatched this really helpful video Physically Based Rendering for Artists

http://youtu.be/LNwMJeWFr0U

from Andrew Maximov on You Tube
Quote
A quick yet thorough introduction into the world of next gen physically based shading made for artists.

I highly recommend it for anyone wondering how PBR relates to the real world and why it is better than the old Diffuse Specular workflow.
Freelance 3d Artist Modo Substance
Mark TomlinsonMarkBTomlinson - Substance Tools Group

I am curious  if somebody actually  saw any real difference in-between PBR and old specular/glossiness shaders?   Or when the old shaders were looking actually unreal under  different lighting conditions?   

Because in my own experience you were  had to do something really stupid to make them look wrong.
And its setup and creation was immensely easier  to  work with.  Allowing a lot more freedom to all those small  tricks that  often help you to make picture realistic.

I am curious  if somebody actually  saw any real difference in-between PBR and old specular/glossiness shaders?   Or when the old shaders were looking actually unreal under  different lighting conditions?   

Because in my own experience you were  had to do something really stupid to make them look wrong.
And its setup and creation was immensely easier  to  work with.  Allowing a lot more freedom to all those small  tricks that  often help you to make picture realistic.

Hi,

I would say that its not about the specific issue of traditional spec/gloss looking different in lighting situations, but more about consistency. One of the main goals with PBR is consistency between projects and artists. Even if an artist has a different style or interpretation, following the PBR guidelines helps them to create consistent artwork regardless.

And its setup and creation was immensely easier  to  work with.  Allowing a lot more freedom to all those small  tricks that  often help you to make picture realistic.

With PBR, you don't need the tricks to make a picture realistic. That is the main point of PBR. You replace the tricks with measured data. I would say this alone makes PBR much easier to work with. You let the data do the heavy lifting which allows you to focus more time on the creative aspects. For example, setting up the base material can be done very quickly as you are using measured data. From there, you spend your texturing time creating subtle microsurface detail which creates a very realistic scattering of light on the surface. This also brings character to the asset as you can easily describe a host of info about the asset's state and its environment simply by authoring the roughness map. This is all done in a single map where you have full creative freedom.

Cheers,

Wes
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja


With PBR, you don't need the tricks to make a picture realistic. That is the main point of PBR. You replace the tricks with measured data. I would say this alone makes PBR much easier to work with. You let the data do the heavy lifting which allows you to focus more time on the creative aspects. For example, setting up the base material can be done very quickly as you are using measured data. From there, you spend your texturing time creating subtle microsurface detail which creates a very realistic scattering of light on the surface. This also brings character to the asset as you can easily describe a host of info about the asset's state and its environment simply by authoring the roughness map. This is all done in a single map where you have full creative freedom.

Cheers,

Wes


Well. after quite some time  working with PBR materials I could say that  they definitely  still need some tricks and have nothing with magically making everything more realistic .   

They help with some kind of materials , mostly metals and  a huge pain in the a..  with other kinds because restrict  artists from doing absolutely anything   and sometimes need a lot of extra channels to fix problems that could be solved easily within old spec level/glossiness approach.


With PBR, you don't need the tricks to make a picture realistic. That is the main point of PBR. You replace the tricks with measured data. I would say this alone makes PBR much easier to work with. You let the data do the heavy lifting which allows you to focus more time on the creative aspects. For example, setting up the base material can be done very quickly as you are using measured data. From there, you spend your texturing time creating subtle microsurface detail which creates a very realistic scattering of light on the surface. This also brings character to the asset as you can easily describe a host of info about the asset's state and its environment simply by authoring the roughness map. This is all done in a single map where you have full creative freedom.

Cheers,

Wes


Well. after quite some time  working with PBR materials I could say that  they definitely  still need some tricks and have nothing with magically making everything more realistic .   

They help with some kind of materials , mostly metals and  a huge pain in the a..  with other kinds because restrict  artists from doing absolutely anything   and sometimes need a lot of extra channels to fix problems that could be solved easily within old spec level/glossiness approach.

Hi,

Can you describe more about the issues you are having? I'm curious as to what you mean by extra channels needed and could have been easily fixed with traditional spec/gloss as this really shouldn't be the case at all. PBR should not need additional tricks or workarounds. That bypasses the entire point of PBR.

PBR is not about a magic solution. Its just a workflow. As we all know too well, nothing in computer graphics is a one-click solution : ) PBR maps, just as with traditional maps still need to be authored correctly in order to produce predictable results. PBR provides a much more streamlined and reproducible workflow. 

For dielectrics (non-metals), PBR doesn't restrict you. In terms of metal/rough, yes the reflective value is hardcoded at 4%, but this can be set through the specLevel channel. With PBR spec/gloss, there is complete freedom in authoring both the metal and non-metal reflectance values.

Let me know some of the specific issues you are having. I worked with traditional spec-gloss for many years and I found PBR to be very liberating. I was so glad to be free from the workarounds and hacks. In many ways, traditional spec-gloss was a trick to approximate shading in a way that they could be computed on the given hardware at the time. Now that we can simulate shading in a more physically-accurate manner with increased compute power, we no longer need to rely on tricks and workarounds to approximate a surface.

PBR is still an approximation of course as can't compute the infinite detail of light, but being based on measured data and scientific algorithms removes the need for workarounds and tricks. We are authoring and computing surfaces based on real-world physical properties. That is why I feel that it greatly simplifies the process of texturing. I am no longer guessing values or eye-balling a result. I know and can rely on the data with PBR. This in turn frees up more time for me to be creative with my maps.

Cheers,

Wes
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja

 
For dielectrics (non-metals), PBR doesn't restrict you. In terms of metal/rough, yes the reflective value is hardcoded at 4%, but this can be set through the specLevel channel. With PBR spec/gloss, there is complete freedom in authoring both the metal and non-metal reflectance values.

Correct me please if I am wrong but isn't  Spec Level  is a part of the old approach?   It's what we used before spec level + glossiness.    Now with PBR approach  the level of specularity is derived  by shader itself from the roughness values.

PBR shaders I deal with  have no spec level channel . And it's a main source of the problem.   The roughness channel just doesn't allow  to set specularity same  precisely  for each pixel as spec level did.  Both roughness and metalness channels create edge artifacts , a kind of halos on contrast edges  due to anti-aliasing .    Especially on mip levels

If the texture has a kind of noisy nature with pixels having contrast values it just turns into a mess 

I think the part of the problem is that while roughness represents micro surface imperfection  the normal map  should represent macro ones.     But in reality we almost always have not enough pixel density/resolution to create those macro imperfections to produce correct specular .  So anything beyond metal or painted metal   does make problems with  typical PBR. I mean any grainy surface: asphalt , grass, rocks covered  with moss, old  worn wooden board, rough fabric.   Make them wet  and it would multiply problems.
   In the end it just turns into non-stop fighting with that PBR shader and countless tweaks of normal map small details  and roughness. 
   And it's where you need  extra separate channels to kill artifacts and plasticly  looking glitters:   cavity ,  AO,  porous,  while before we could multiply them over spec level or base texture and it looked no worse

  In fact even necessity to use pure  base color  kills most of former photography usage .   So many materials now cry out loud  " hand painted"  instantly once you look at them.

One more problem is hard coded fresnel . Perhaps it represents microsurface things right   but not the grainy macro imperfections where you need ability to tweak it to look right.

I spend more time for PBR than I did for speclevel/gloss  and only thing I need actually is a kind of switch that would allow to get rid of energy conservation and other hard coded connections if I can't reach acceptable result out of a box for some reason


 
 
Last Edit: May 13, 2015, 07:22:27 pm


Correct me please if I am wrong but isn't  Spec Level  is a part of the old approach?   It's what we used before spec level + glossiness.    Now with PBR approach  the level of specularity is derived  by shader itself from the roughness values.

PBR shaders I deal with  have no spec level channel . And it's a main source of the problem.   The roughness channel just doesn't allow  to set specularity same  precisely  for each pixel as spec level did.  Both roughness and metalness channels create edge artifacts , a kind of halos on contrast edges  due to anti-aliasing .    Especially on mip levels

If the texture has a kind of noisy nature with pixels having contrast values it just turns into a mess 

I think the part of the problem is that while roughness represents micro surface imperfection  the normal map  should represent macro ones.     But in reality we almost always have not enough pixel density/resolution to create those macro imperfections to produce correct specular .  So anything beyond metal or painted metal   does make problems with  typical PBR. I mean any grainy surface: asphalt , grass, rocks covered  with moss, old  worn wooden board, rough fabric.   Make them wet  and it would multiply problems.
   In the end it just turns into non-stop fighting with that PBR shader and countless tweaks of normal map small details  and roughness. 
   And it's where you need  extra separate channels to kill artifacts and plasticly  looking glitters:   cavity ,  AO,  porous,  while before we could multiply them over spec level or base texture and it looked no worse

  In fact even necessity to use pure  base color  kills most of former photography usage .   So many materials now cry out loud  " hand painted"  instantly once you look at them.

One more problem is hard coded fresnel . Perhaps it represents microsurface things right   but not the grainy macro imperfections where you need ability to tweak it to look right.

I spend more time for PBR than I did for speclevel/gloss  and only thing I need actually is a kind of switch that would allow to get rid of energy conservation and other hard coded connections if I can't reach acceptable result out of a box for some reason


Hi,

Correct me please if I am wrong but isn't  Spec Level  is a part of the old approach?   It's what we used before spec level + glossiness.    Now with PBR approach  the level of specularity is derived  by shader itself from the roughness values.

PBR shaders I deal with  have no spec level channel . And it's a main source of the problem.   The roughness channel just doesn't allow  to set specularity same  precisely  for each pixel as spec level did.  Both roughness and metalness channels create edge artifacts , a kind of halos on contrast edges  due to anti-aliasing .    Especially on mip levels


The spec level is not apart of the old approach. Its specific to PBR and not all implementations use it. Substance uses it as does Unreal Engine 4. This channel is used specifically with the metal rough workflow since the reflectance for dieletrics is hard-coded to 4%. Using the specLevel (SD) or specular (UE4) you can feed in a value to override the 4% reflective value. This is not needed in Spec/Gloss as you can author the specular reflectance in the specular map

Both PBR workflows can create edge artifacts. However, its much more visible in metal rough workflow (white edges). Its due to the texture interpolation and resolution effects it (mip levels).

  In fact even necessity to use pure  base color  kills most of former photography usage .   So many materials now cry out loud  " hand painted"  instantly once you look at them.

You can use photo images for base color. There isn't necessity to use only color value. Scans use photos and must textures use photos as well. The only stipulation is that you want to avoid old tricks like multiply ambient occlusion of the base color or diffuse. Also, you want to create an albedo (diffuse reflected color) so you need to be mindful over very dark values and lighting information embedded in the image.

The fresnel in PBR is hardcoded as you mentioned. You no longer have a value to adjust. Its intensity is controlled or driven by the roughness/glossiness map.

For PBR workflows, are you using Spec/Gloss? This might be the better workflow for your needs. You don't need to use PBR with Substances if you would rather not. Substance Designer supports Blinn-phong as well. With Substance Painter, we will also add blinn-phong at some point.

Cheers,

wes
Integrations Product Manager / Training
wes.mcdermott@allegorithmic.com
Twitter: The3DNinja