Shading Revisited Some applications are intended to produce pictures that look photorealistic or close to it The image should look like a photograph A better metric is perceptual the image should generate a target set of perceptions Applications include Film special effects Training simulations Computer games Architectural visualizations Psychology experiments To achieve the goal of photorealism we must think carefully about light and how it interacts with surfaces What you should take away The various aspects of light interaction and how algorithms capture or ignore them Light Transport Light transport problems are concerned with how much light arrives at any surface and from what direction The physical quantity of interest is radiance How much light power is traveling along a line in space per unit foreshortened area per unit solid angle We will not go into the theory it takes 3 hours just to give the definitions and equations Similar problems arise in radiated heat transport ie satellites where some of the technology was originally developed Radiometry Radiometry The study of light distribution how bright will surfaces be what is brightness measuring light interactions between light and surfaces Core idea think about light arriving at a surface Around any point is a hemisphere of directions Simplest problems can be dealt with by reasoning about this hemisphere Lambert s wall How bright are various locations on the plane More complex wall Light Transport Which surface gets more light Why How much light reaches point a If the walls are black If the walls are mirrors a a b Reflectance Modeling Reflectance modeling is concerned with the way in which light reflects off surfaces Clearly important to deciding what surfaces look like Also important in solving the light transport problem Physical quantity is BRDF Bidirectional Reflectance Distribution Function A function of a point on the surface an incoming light direction and an outgoing light direction Tells you how much of the light that comes in from one direction goes out in another direction General BRDFs are difficult to work with so simplifications are made Simple BRDFs Diffuse surfaces Uniformly reflect all the light they receive Sum up all the light that is arriving Irradiance Send it back out in all directions A reasonable approximation for matte paints soot carpet Perfectly specular surfaces Reflect incoming light only in the mirror direction Rough specular surfaces Reflect incoming light around the mirror direction Diffuse Specular A diffuse component and a specular component Light Sources Sources emit light exitance Different light sources are defined by how they emit light How much they emit in each direction from each point on their surface For some algorithms point lights cannot exist For other algorithms only point light can exist Global Illumination Equation The total light leaving a point is given by the sum of two major terms Exitance from the point Incoming light from other sources reflected at the point L x o o Le x o o bd x o o Li x cos d Light leaving Exitance Sum BRDF Incoming light Incoming light reflected at the point Photorealistic Lighting Photorealistic lighting requires solving the equation Not possible in the general case with today s technology Light transport is concerned with the incoming light part of the equation Notice the chicken and egg problem To know how much light leaves a point you need to know how much light reaches it To know how much light reaches a point you need to know light leaves every other point Reflectance modeling is concerned with the BRDF Hard because BRDFs are high dimensional functions that tend to change as surfaces change over time Classifying Rendering Algorithms One way to classify rendering algorithms is according to the type of light interactions they capture For example The OpenGL lighting model captures Direct light to surface to eye light transport Diffuse and rough specular surface reflectance It actually doesn t do light to surface transport correctly because it doesn t do shadows We would like a way of classifying interactions light paths Classifying Light Paths Classify light paths according to where they come from where they go to and what they do along the way Assume only two types of surface interactions Pure diffuse D Pure specular S Assume all paths of interest Start at a light source L End at the eye E Use regular expressions on the letters D S L and E to describe light paths Valid paths are L D S E Simple Light Path Examples LE The light goes straight from the source to the viewer LDE The light goes from the light to a diffuse surface that the viewer can see LSE The light is reflected off a mirror into the viewer s eyes L S D E The light is reflected off either a diffuse surface or a specular surface toward the viewer Which do OpenGL approximately support More Complex Light Paths Find the following LE LDE LSE LDDE LDSE LSDE Radiosity Cornell box due to Henrik wann Jensen http www gk dtu dk hwj rendered with ray tracer More Complex Light Paths LE LDDE LSDE LSE LDSE LDE Radiosity Cornell box due to Henrik wann Jensen http www gk dtu dk hwj rendered with ray tracer The OpenGL Model The standard graphics lighting model captures only L D S E It is missing Light taking more than one diffuse bounce LD E Should produce an effect called color bleeding among other things Approximated grossly by ambient light Light refracted through curved glass Consider the refraction as a mirror bounce LDSE Light bouncing off a mirror to illuminate a diffuse surface LS D E Many others Raytracing Cast rays out from the eye through each pixel and determine what they hit first Cast additional rays from the hit point to determine the pixel color Shadow rays toward each light If they hit something then the object is shadowed from that light otherwise use standard model for the light Reflection rays for mirror surfaces to see what should be reflected in the mirror Transmission rays to see what can be seen through transparent objects Sum all the contributions to get the pixel color Raytracing Shadow rays Reflection ray Transmitted ray Recursive Ray Tracing When a reflected or refracted ray hits a surface repeat the whole process from that point Send out more shadow rays Send out new reflected ray if required Send out a new refracted ray if required Generally reduce the weight of each additional ray when computing the contributions to surface color Stop when the contribution from a ray
View Full Document
Unlocking...