Jump to content
3DCoat Forums

[PBR] Physically Based Rendering Encyclopedia


Recommended Posts

Source

http://www.polycount.com/forum/showthread.php?t=136390

--------------------------------------------------------------------------

Hey all,

Here's a little snippet of myself. I've been a long time lerker of polycount and only recently started posting work. An aspiring 3D artist poly120.gif

I've started to learn about PBR/PBT as it is the new way of rendering/texturing true-to-life materials. I've seen a lot of different sources for this new method but haven't seen (or maybe I've overlooked) an all encompassing location with everything you need to know, etc.

So since I was learning anyway and since I have a habit of creating docs to organize my thoughts/what I've learnt for later use/study, I've created my own encyclopedia of sorts.

I present - The Physically Based Rendering Encyclopedia.

Please note that it is very much in its infancy and as I learn and update the doc, somethings will be removed or reworked.

As with more things, take a slight grain of salt with what you read, since there is never only 1 way of do things poly120.gif

Hope some find it useful. If not it is a good way for me to learn and keep track of information!

I've received some great feedback and requests/what people would like to see on the doc, which will inevitably be added onto the wiki at some point. So here is a list of requests that I will be working on.

CHANGE LOG
v0.9
  1. Added Marmoset PBR articles where appropriate
  2. Update FAQ section
  3. Re-organized some sections and information
  4. Added more examples, references, material reference values, and tools & programs

v0.8

  1. More or less completed the theory behind PBR section.
  2. Added more to the Guidelines & Basics section.
  3. FAQ is more filled out now.
  4. Made some corrections and alterations to some wording and layout.


UPCOMING UPDATES

  1. Adding Sébastien Lagarde's work.
  2. More information from my 10+ tabs.
  3. Additional tips/techniques from the pros
  4. A few more examples of texture sheets


FEATURES WISHLIST

  1. Q&A with pros
  2. Written with images tutorials

Sections to-be Added
A workflow/guide/some information on the actual texturing process. Ex. less theory, more examples/hands on material.
Tutorial/brief on how Stevston89 created his PBR stylized dagger.



 
  • Like 3
Link to comment
Share on other sites

SIGGRAPH 2012 Course: Practical Physically Based Shading in Film and Game Production

http://blog.selfshadow.com/publications/s2012-shading-course/

 

 

Physically based shading is becoming of increasing importance to both film and game production.

 

By adhering to physically based, energy-conserving shading models, one can easily create high quality, realistic materials that maintain that quality under a variety of lighting environments.

 

Traditional ad hoc models have required extensive tweaking to achieve the same result, thus it is no surprise that physically based models have increased in popularity in film and game production, particularly as they are often no more difficult to implement or evaluate.

 

post-10142-0-00711900-1404585540_thumb.j

post-10142-0-91853800-1404585536_thumb.j

post-10142-0-35743200-1404585534_thumb.j

 

  • Like 3
Link to comment
Share on other sites

  • 2 months later...

Could somebody please explain Physical Based Rendering to me?

 

daceHigh Admiral 104 points

 

It's a way to make everything look more photorealistic/natural-looking by changing how light bounces off everything. Since lighting controls how you see everything in the game (because you couldn't see in the pitch-black dark), it affects how every single part of the game looks.

Basically: instead of current lighting techniques like using multiple diffuse textures/specular maps for each part of every object in the game to represent different conditions, they can just create 1 texture for each part then artificially define properties like a refractive index to help parameterize a physics model that controls how light and shadow work when rendering frames of an in-game scene that contains that object.

In most implementations the physics model basically uses a predictive set of converging functions to determine how light from a specific source will reflect/refract off a given surface with different reflectivity and absorption/diffusion characteristics, which then refracts and reflects off other surfaces at a) different angles, with B) reduced intensity and c) a different wavelength, etc.

In productivity terms: people creating textures for in-game assets now have to spend less time creating multiple maps for each surface because they can just say "this panel is steel" or "this seat cushion is leather" with specific reflectivity/diffusion/texture/etc. rather than having to create multiple different copies of them that behave differently under different lighting conditions (such as in space, in atmosphere, indoors, etc.)

In visual terms: different types of surfaces (such as metal, leather, plastic, glass, etc.) should look more photorealistic and more "natural" because the way that light reflects off them and the way shadows are created will be more accurate.

Link to comment
Share on other sites

  • 1 month later...
Tutorial: PBR Texture Conversion

By Joe “EarthQuake” Wilson

In this tutorial, I’m going to demonstrate how content created for traditional shaders can be converted to PBR shaders, how to convert content from one PBR workflow to another, and explain the various differences in modern workflows. This tutorial is intended for intermediate to advanced users, so be sure to read the previous two PBR tutorials that Jeff Russell and I wrote as the base concepts are explained in great detail and may only be briefly mentioned here.

 

traditionalvspbr01.jpg

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

Physically Based Rendering -Garage Games-

 

by Pierre (DragoFire) Hay · in Torque 3D Professional · 03/05/2014

I've been slowly reading up on this and wonder if anyone else has looked into this or done any work with it and T3D yet?

For those who don't know what Physically Base Rendering or as some call it Physically Based Shading is here's a topic over at RSI covering what is physically based rendering, this covers most aspects of PBR without getting to technical. 

What is PBR or sometimes refered to as PBS or BRDF
The most trivial explanation of a PBR/PBS/BRDF (physical based renderer / physical based shader / bidirectional reflectance distribution function) is that it is the bit of shader code describing how a surface reacts to light. Generally, it is responsible for calculating the specular highlights and diffuse characteristics of the surface material. They are mathematical approximations of how surfaces react to light in the real world. In computer graphics, we try to model the physical world as accurately as possible, but we are constrained by computation. For this reason, the mathematical efficiency of BRDFs is very important. Some of the better known BRDFs - Blinn, Phong and Lambert, for instance - are well known for this reason: they are computationally inexpensive to calculate and intuitive to adjust. However they compromise efficiency for accuracy. If we concern ourselves with more expensive and more accurate models, we uncover a second layer of shading models: Oren-Nayar, Cook-Torrance, Askikhmin-Shirley, etc.
There is no single model that fits every situation, but there are some better than others. The Cook-Torrance model has been shown to be a top performer, when compared against actual acquired BRDF data. Of course, with the good comes the bad and Cook-Torrance is one of the most expensive models to compute. But for overall results, it is hard to beat. So this is our target; a nice implementation of the Cook-Torrance reflectance model. Now this maybe an issue when using Cook-Torrance model on mobiles and consoles due to hardware limitations, so it's a question of which module to use. 
What's required?
Base PBR implementation consists of 3 things;
Gamma-correct rendering
  • Shading inputs (textures, light colors, vertex colors, etc.) naturally authored, previewed [li]and (often) stored with nonlinear (gamma)encoding
  • Final frame buffer also uses nonlinear encoding
  • This is done for good reasons
  1. [li]Perceptually uniform(ish) = efficient use of bits
  2. Legacy reasons (tools, file formats, hardware)
Support for HDR values 
[ul]
  • Realistic rendering requires handling values much higher than display white (1.0)
  • Before shading: light intensities, lightmaps, environment maps
  • Shading produces highlights that affect bloom, fog, DoF, motion blur, etc.
  • Cheap solutions exist
  • Good tone mapping (ideally filmic)
    Difference between textures and materials.

    There are few fundamental distinctions between textures and materials. For example, you cannot apply a texture on a static mesh or BSP geometry. Textures have to be a part of a material. The material is what you would use to texture your environment and apply to Static Meshes.

    Here are the differences between a texture and a material:

    Textures is a single file, a 2d static image. It is usually a diffuse, specular or a normal map file that you would create in Photoshop or Gimp, as a tga, tiff, bmp, png file. These can be manipulated photographs, hand-painted textures or textures baked in an application such as xNormals. 

    013-texture-vs-material-04.jpg
    Materials are made up of various textures combined together inside a Material Editor(in-engine or 3rd party editor). Materials include various textures and material expressions that creates a network of nodes. The final result is a material you can use to apply on your BSP geometry and on Static Meshes. Materials are what you see rendered in-game. 
    It should be noted that Specular map on a texture, is connected to the refractive index and as such describes a physical property. The shading model then varies this reflectance based on view angle and surface roughness. Thus the surface roughness is adjusted to create variety and specular not be varied for a given material.

    013-texture-vs-material-06.jpg
  • Like 1
Link to comment
Share on other sites

Tutorial: Physically Based Rendering, And You Can Too!

 

By Joe “EarthQuake” Wilson

This tutorial will cover the basics of art content creation, some of the reasoning behind various PBR standards (without getting too technical), and squash some common misconceptions. Jeff Russell wrote an excellent tutorial on theTheory of Physically Based Rendering, which I highly recommend reading first.

Additional help from Jeff RussellTeddy Bergsman and Ryan Hawkins. Special thanks to Wojciech Klimas andJoeri Vromman for the extra insight and awesome art.

Contents

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

Brief Considerations About Materials

 

 

For the purpose of our needs, we may reduce the materials to two basic different types:

 

Dielectrics and Conductors.

 

Dielectrics materials do not conduct electricity. Conductors do.

So, in a very non-scientific way that should only be used by artists and not someone writing a science paper, we could say that Conductors are all the metals or metallic looking surfaces, and Dielectrics are all the non-metallic surfaces, such as wood, plastic, rubber, clay, fabrics, etc.

 

imagem-35-english-500x330.jpg

 

And what is interesting for us to know is that Conductors alter the color of the specular reflection, tinting them. While the Dielectrics materials will be neutral to the light and not affect the color of the specular reflection.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Feeding a physically based shading model

 

 

Adopting a physically based shading model is just a first step. Physically based rendering (PBR) require to use physical lighting setup and good spatially varying BRDF inputs (a.k.a textures) to get best results.

Feeding the shading model with physically plausible data is in the hand of artists.

 

There are many texture creation tutorials available on the web. But too often, artists forget to link their work with the lighting model for which textures are created. With traditional lighting model, there is often a RGB diffuse texture, RGB specular texture, specular mask texture, constant specular power and normal map. For advanced material you can add specular power texture, Fresnel intensity texture, Fresnel scale texture, reflection mask texture…

Physically based shading model is more simple and will provide a consistent look under different lighting condition. However, artists must be trained because right values are not always trivial to find and they should accept to not fully control specular response.

Link to comment
Share on other sites

  • 3 weeks later...

Physically Based Materials

PhysMatHeader.jpg

This document is designed to help those who need to quickly get up to speed in Unreal Engine 4's physically based Materials system. It assumes that you are at least somewhat familiar with Material creation in the Unreal Engine, at least with Unreal Engine 3 or later. If you are completely new to Materials in Unreal, you may prefer to start with the Essential Material Concepts page.

Link to comment
Share on other sites

  • 6 months later...

pbrdesc2.jpg

 

 

PBR Description

 

What is Physically Based Rendering (PBR)?

This is a rendering with some physical properties of objects being taken into account. Such an approach provides the appearance of materials as in the real world.

 

 

Link to comment
Share on other sites

  • 3 months later...

Brief Consideration About Materials
By Pedro Toledo

 

Introduction

I originally made this tutorial for a lecture I gave at CCAA, a school in Brazil where I help to run the Post-Graduation course in Game Art. It came from the need to explain some elements of the materials that are commonly misunderstood. Especially about Specular maps which, sometimes, seem to be a bit confusing for some people.

Most artists, in general, have a pretty good understanding of Diffuse, Normal and Alpha maps, but it's often on the Specular map that they will get lost and sometimes even ruin a pretty good asset.

I hope you enjoy this tutorial.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...
  • Contributor

Good video. However what always bothered since the PBR was popularized, is that in almost every tutorial or document about PBR they always emphasise that you need to provide EXACT reflectance values for the materials in order to make them look properly. Those values need to be scientifically measured, but they never say where we can find such data. And I don't have any fingers left in my both hands anymore to count how many times I looked for it.

 

There are some charts on the Internet for several of the most popular materials (gold, copper, titanium, etc.), but nothing beyond that. I couldn't even find any commercial data that I could purchase.

I guess we still need to resort to the eyeballing routine? ;)

Link to comment
Share on other sites

  • Contributor

Good video. However what always bothered since the PBR was popularized, is that in almost every tutorial or document about PBR they always emphasise that you need to provide EXACT reflectance values for the materials in order to make them look properly. Those values need to be scientifically measured, but they never say where we can find such data. And I don't have any fingers left in my both hands anymore to count how many times I looked for it.

 

There are some charts on the Internet for several of the most popular materials (gold, copper, titanium, etc.), but nothing beyond that. I couldn't even find any commercial data that I could purchase.

I guess we still need to resort to the eyeballing routine? ;)

I reckon that's what separates the sheep from the goats.

Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...

https://jmonkeyengine.github.io/wiki/jme3/advanced/pbr_part1.html

The intent of this series of posts is first to brush up the concept of PBR from the artist point of view (the easy part :D), and then to explain the physical concepts behind it and what you have to understand as a developer.

This paper aims to present PBR as I would explain it to my mother. You shouldn’t need a degree in image rendering theories, neither should you need to be a genius to understand what’s coming.

Link to comment
Share on other sites

  • 2 years later...
  • New Member
On 7/9/2017 at 9:47 AM, Carlosan said:

https://jmonkeyengine.github.io/wiki/jme3/advanced/pbr_part1.html

The intent of this series of posts is first to brush up the concept of PBR from the artist point of view (the easy part :D), and then to explain the physical concepts behind it and what you have to understand as a developer.

This aims to present PBR as I would explain it to my mother. You shouldn’t need a degree in image rendering theories, neither should you need to be a genius to understand what’s coming.

Like shooting fish in a barrel! Exactly for those who had little understanding of PBR.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...