Last Time Some advanced reflection models 022403 Fresnel

  • Slides: 17
Download presentation
Last Time • Some advanced reflection models – – 02/24/03 Fresnel Cook-Torrance Ward Schlick

Last Time • Some advanced reflection models – – 02/24/03 Fresnel Cook-Torrance Ward Schlick © 2003 University of Wisconsin

Today • Some more reflection/illumination models • Managing dynamic range 02/24/03 © 2003 University

Today • Some more reflection/illumination models • Managing dynamic range 02/24/03 © 2003 University of Wisconsin

Assignment 2 • Easy: – Minimum: receive at triangles, form factors by single ray

Assignment 2 • Easy: – Minimum: receive at triangles, form factors by single ray test centerto-center and disk approximation – Receive at vertices variant • Harder: – Use multiple rays to estimate form factor – subdivide shooter, or use random points on receiver • Very hard: – Subdivide receiver – tough to keep accurate track of radiosity estimates and corrections – Don’t try this – make your ray-tracer faster instead 02/24/03 © 2003 University of Wisconsin

Upcoming Events • Assignment 2 grading March 6 -7 • Next assignment: – –

Upcoming Events • Assignment 2 grading March 6 -7 • Next assignment: – – 02/24/03 Select a non-photorealistic rendering paper Read it and understand it in detail Present it in class with a 15 min presentation Details week after next © 2003 University of Wisconsin

Metallic Patinas • Dorsey and Hanrahan, 1996 • Aim: capture the weathering of metallic

Metallic Patinas • Dorsey and Hanrahan, 1996 • Aim: capture the weathering of metallic surfaces – Actually, only did copper • Underlying ideas: – Layer model – Modulation by textures – Scripting for time control 02/24/03 © 2003 University of Wisconsin

Layer Model • Surface consists of several layers • Each layer has: – Standard

Layer Model • Surface consists of several layers • Each layer has: – Standard diffuse, specular, roughness parameters (roughness is Phong exponent) – Transmission and back-scatter parameters, K and S • Scripting controls the layers over time • Layers are not uniform – Consider a stack of layers at a single point 02/24/03 © 2003 University of Wisconsin

Operating on Layers • coat material thickness-map – Add a new layer of material

Operating on Layers • coat material thickness-map – Add a new layer of material • erode thickness-map – Remove some material • fill height-map – Fill in valleys to a certain minimum height • polish height-map – Remove down to a given height • offset radius – Apply material in corners (places not reachable by a sphere of radius) 02/24/03 © 2003 University of Wisconsin

Thickness/Height Maps • Want a method for generating variation over surfaces that looks like

Thickness/Height Maps • Want a method for generating variation over surfaces that looks like corrosion – Use regular texture maps or triangulations – Growth models change the maps over time • Various methods – Steady thickening – quite uniform texture – Random deposition – drop points onto the surface – Ballistic deposition – point sticks when it first contacts something (gives overhangs) – Directed percolation depinning – points on surface are blocked or unblocked (with moisture) and surface grows into unblocked regions over time 02/24/03 © 2003 University of Wisconsin

Kubelka-Munk (KM) Model • A model used in the paint, printing and textile industries

Kubelka-Munk (KM) Model • A model used in the paint, printing and textile industries to predict diffuse scattering in layers • Describes light distribution at a height in a medium with forward and backward flux density (energy per unit area) • K is absorption per unit length, S is backscattering per unit length Bd 02/24/03 © 2003 University of Wisconsin B+ dz

Homogeneous Medium • R is total reflectance through a layer of thickness d •

Homogeneous Medium • R is total reflectance through a layer of thickness d • T is total transmission • But, hard to estimate S and K – Get ratio K/S from infinite thickness equation – Guess S 02/24/03 © 2003 University of Wisconsin

Multiple Layers • Model can be extended for multiple layers of varying thickness •

Multiple Layers • Model can be extended for multiple layers of varying thickness • For two layers: • Subsurface compositing operators – To get more layers, just apply the operator again – Order doesn’t matter 02/24/03 © 2003 University of Wisconsin

BRDF • Diffuse term comes from previous equations • Gloss term is harder –

BRDF • Diffuse term comes from previous equations • Gloss term is harder – Sum terms from each layer – Incoming light is scaled by T 2 for layers above – Then use Phong model at each interface 02/24/03 © 2003 University of Wisconsin

Copper Strips Urban 02/24/03 Rural © 2003 University of Wisconsin Marine

Copper Strips Urban 02/24/03 Rural © 2003 University of Wisconsin Marine

Others 02/24/03 © 2003 University of Wisconsin

Others 02/24/03 © 2003 University of Wisconsin

Subsurface Scattering • Kubelka-Munk is a gross approximation to real scattering – Assumes isotropic

Subsurface Scattering • Kubelka-Munk is a gross approximation to real scattering – Assumes isotropic light distribution • Subsurface scattering is very important to capturing the appearance of organic materials 02/24/03 © 2003 University of Wisconsin

BSSRDF • Bidirectional surface scattering distribution function, S • Relates the outgoing radiance at

BSSRDF • Bidirectional surface scattering distribution function, S • Relates the outgoing radiance at one point to the incident flux at another • BRDF makes the assumption that xi = xo • To get the total radiance leaving a point, integrate over the surface and the incoming directions • S depends on the sub-surface scattering of the material 02/24/03 © 2003 University of Wisconsin

Practical Model • Wann Jensen, Marschner, Levoy and Hanrahan, 2001 • Handles non-isotropic media

Practical Model • Wann Jensen, Marschner, Levoy and Hanrahan, 2001 • Handles non-isotropic media • Does not require extensive Monte-Carlo raytracing – Just a modified version of distribution ray-tracing • Approximation based on: – Single bounce scattering – can be done directly – Multiple bounce scattering – can be done with averaging arguments 02/24/03 © 2003 University of Wisconsin