Physically based shading Ats Kurvet MTAT.03.296 Computer Graphics Seminar Tartu 2014 1
Why use PBS? • Consistency - across materials and lighting conditions. • Speed - of authoring content (better tools, less variables, intuitive parameters, easier troubleshooting). • Easier to achieve “hyperrealism” • Cheaper. 2
Examples of PBS in action 3
4 http://atskurvet.com/portfolio.html
5 http://www.unrealengine.com/files/downloads/2013SiggraphPresentationsNotes.pdf
6 http://www.fxguide.com/wp-content/uploads/2013/04/blueumbrella1.jpg
http://www.cgmag.at/index.php?page=Attachment&attachmentID=5113&h=47ccf5d3bb8c3aad 7 a9c32a34d63f957f506ae0a9
8 https://www.fxguide.com/featured/gravity/
Also check out • Unreal Infiltrator demo: https://www.youtube.com/watch?v=dO2rM -l-vdQ • Order 1886: https://www.youtube.com/watch?v=2FK8d gzW0o8 • And probably anything else that looks good* 9
PBS needs a strong base • HDR and Tone mapping • Anti-aliasing (also accounting for specular) • Per object motion blur • Depth of field (if using a realistic camera model) • PostFX • … 10
Physics 11
Optics • Geometrical/ray optics – Basic reflections – Basic refractions • Physical/wave optics – Interference – Diffraction – Polarization • Electromagentic wave optics – Maxwell equations • Quantum optics – Photons: the atomic principle – Wave-particle duality 12
? • http://isites.harvard.edu/fs/docs/icb.topic186199.files/images/EdgeDiffraction2-800x533.jpg 13
Visible spectrum • http://hyperphysics.phy-astr.gsu.edu/hbase/vision/imgvis/specol.gif • 14 http://upload.wikimedia.org/wikipedia/commons/1/1f/Light_dispersion_of_a_mercury- vapor_lamp_with_a_flint_glass_prism_IPNr%C2%B00125.jpg
Lights interaction with matter 15
Refraction and absorption • The refractive index – Describes how light interacts with the medium it is travelling in. – Spectral quantity – The complex refractive index: • The real part describes the affect to the speed and thus angle of deviation. • The imaginary part describes the amount of absorption and color. http://www.topwallpaperphoto.com/wp-content/uploads/2013/09/Whiskey-Drink.jpg 16
Scattering • Light splits into multiple directions due to abrupt micro scale changes in refraction. • http://blog.selfshadow.com/pu blications/s2013-shading- course/hoffman/s2013_pbs_p hysics_math_slides.pdf 17
Absorption, scattering and emission • http://blog.selfshadow.com/publications/s2013-shading- 18 course/hoffman/s2013_pbs_physics_math_slides.pdf
Emission • Many different sources and ways of generation • There is a difference between white light and white light http://www.ni.com/cms/image s/devzone/tut/image4_200801 19 09201025.png
Reflections on a planar surface 20
Non-Optically-Flat Surfaces • http://blog.selfshadow.com/publications/s2013-shading- 21 course/hoffman/s2013_pbs_physics_math_notes.pdf original source: “Real -Time Rendering, 3rd edition"
Subsurface scattering • http://blog.selfshadow.com/publications/s2013-shading- 22 course/hoffman/s2013_pbs_physics_math_notes.pdf original source: “Real -Time Rendering, 3rd edition"
SSS and the diffuse term • http://blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf 23 original source: “Real -Time Rendering, 3rd edition"
Math 24
Radiance - L • Radiance is the measurement of the quantity of radiation that passes through or is emitted from a surface and falls within a given solid angle in a specified direction. In our case “a single ray of light”. • Radiance is a spectral quantity. http://upload.wikimedia.org/wikipedia/en/thu mb/6/63/Etendue-Definition.png/400px- Etendue-Definition.png 25
Bidirectioanl Reflectance Distribution Function f( l , v ) • http://blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf 26 original source: “Real -Time Rendering, 3rd edition"
? • BTDF • BSDF • BSSRDF 27
Reversability • http://blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf 28 original source: “Real -Time Rendering, 3rd edition"
Reciprocity & energy conservation 29
Reflectance equation 30
Diffuse and specular term • http://blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf 31 original source: “Real -Time Rendering, 3rd edition"
Splitting diffuse and specular in the real world • Check out the tutorial at: http://filmicgames.com/archives/233 32
Real world examples 33 http://filmicgames.com/archives/547
Real world examples 34 http://filmicgames.com/archives/547
Real world examples 35 http://filmicgames.com/archives/547
Surface Reflectance (Specular Term) 36
Microfacet theory • Microgeometry • Light only reflected when, h = m , where h is the half angle vector and m is the microgeometry normal. – But only when the surface point is not shadowed or masked by neighboring geometry. • http://blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf 37 original source: “Real -Time Rendering, 3rd edition"
Shadowing & masking • Shadowing (left) – accounted for. • Masking (middle) – accounted for. • Interreflections (right) – not accounted for. • http://blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf 38 original source: “Real -Time Rendering, 3rd edition"
Microfacet BRDF • D( h ) – microgeometry normal distribution function • G( l , v , h ) - the geometry function • F( l , h ) - Fresnel reflectance • 4( n . l )( n . v ) – correction factor for transforms between micogeometry space and the macrosurface 39
Fresnel reflectance • The Fresnel reflectance function computes the fraction of light reflected from an optically flat surface. • Depends on the incomoing angle of the light and the index of refraction. • Spectral quality. • Values between 0 and 1 40
Fresnel reflectance for a variety of substances • http://blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf 41 original source: “Real -Time Rendering, 3rd edition"
Characteristic specular reflectance – F 0 • http://blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf 42 original source: “Real -Time Rendering, 3rd edition"
• http://blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf 43 original source: “Real -Time Rendering, 3rd edition"
The Schlick Approximation to Fresnel • For microfacet BRDFs (otherwise replace h with n ): 44
Microgeometry normal distribution function - D( m ) • Describes the amount of microgeometry normals m having the same direction as the surface normal n . • Values must me greater than 0. • Scalar. • Determines the size, brightness, and shape of the specular highlight. • Isotropic and anisotropic surfaces. https://lva.cg.tuwien.ac.at/ecg/wiki/lib/exe/fetch.php?hash=ac8b26&media=http%3A%2F%2Fwww.cs.utexas.edu%2F~fussell%2Fcourses%2Fcs3 45 84g%2Fprojects%2Fraytracing%2Fray_examples%2Fanisotropy_ball.jpg & http://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf
Examples of NDFs • http://blog.selfshadow.com/publications/s2013-shading-course/hoffman/s2013_pbs_physics_math_notes.pdf 46 original source: “Real -Time Rendering, 3rd edition"
Geometry function - G( l , v , m ) • Represents the probability that surface points with a given microgeometry normal m will be visible from both the light direction l and the view direction v . • Scalar. • Values between 0 and 1. 47
Limitations of the Microfacet model • Does not account for pronounced wave optics effects (such as diffraction and interference), those are usually solved with ad hoc methods. • Geometry features in the scale range of wavelength of light, or larger features becoming smaller due to foreshortening at grazing angles. • More complex microgeometry. 48
Subsurface Reflectance (Diffuse Term) 49
Diffuse Term • Gets the left over light that is not reflected straight off the surface(specular term). • Spectral. • Values between 0 and 1. • Extra considerations to look at: – Specular reflectance increases at grazing angles so the diffuse value must decrease. – Affect of roughness (microgeometry features larger than that of the sub-surface scattering distance) 50
Lambert • Most widely used. A constant value. 51
Other terms • Subsurface single-scattering. • Multiple-bounce surface reflectance. • Might want to account for these in some ways no. 52
Illumination model 53
General Lighting • Integrate BRDF against all incoming light from all directions. • Solving this requires global illumination models such as Monte Carlo ray tracing. 54
Recommend
More recommend