Texture / Image-Based RenderingTexture MapsClassic HistoryTexture MappingSurface Color and TransparencyReflection MapsGazing BallEnvironment MapsEnvironment Map ApproximationCylindrical PanoramasFisheye LensCubical Environment MapDirection MapsShadow MattesReflectance MapsCapturing Reflectance MapsCreating Lambertian Reflectance MapCreating Phong Reflectance MapFiltered Environment MapsReflectance Space ShadingIllumination MapsQuake Light MapsBidirectional Texture Function (BTF)BTF MappingShadow MapsCorrect Shadow MapsAmbient Occlusion MapsDisplacement/Bump MappingNormal MapsHierarchyCS348B Lecture 12 Pat Hanrahan, Spring 2005Texture / Image-Based RenderingTexture mapsSurface color and transparencyEnvironment and irradiance mapsReflectance mapsShadow mapsDisplacement and bump mapsLevel of detail hierarchyCS348B Lecture 12 Pat Hanrahan, Spring 2005Texture MapsHow is texture mapped to the surface?Dimensionality: 1D, 2D, 3DTexture coordinates (s,t)Surface parameters (u,v)Direction vectors: reflection R, normal N, halfway HProjection: cylinderDevelopable surface: polyhedral netReparameterize a surface: old-fashion model decalWhat does texture control?Surface color and opacityIllumination functions: environment maps, shadow mapsReflection functions: reflectance mapsGeometry: bump and displacement mapsCS348B Lecture 12 Pat Hanrahan, Spring 2005Classic HistoryCatmull/Williams 1974 - basic ideaBlinn and Newell 1976 - basic idea, reflection mapsBlinn 1978 - bump mappingWilliams 1978, Reeves et al. 1987 - shadow mapsSmith 1980, Heckbert 1983 - texture mapped polygonsWilliams 1983 - mipmapsMiller and Hoffman 1984 - illumination and reflectance Perlin 1985, Peachey 1985 - solid texturesGreene 1986 - environment maps/world projectionsAkeley 1993 - Reality EngineLight FieldBTFCS348B Lecture 12 Pat Hanrahan, Spring 2005Texture Mapping++==3D Mesh 2D Texture 2D ImageCS348B Lecture 12 Pat Hanrahan, Spring 2005Surface Color and TransparencySource: RenderMan Companion, Pls. 12 & 13Tom Porter’s Bowling PinCS348B Lecture 12 Pat Hanrahan, Spring 2005Reflection MapsBlinn and Newell, 1976CS348B Lecture 12 Pat Hanrahan, Spring 2005Gazing BallMiller and Hoffman, 1984Photograph of mirror ballMaps all directions to a to circleResolution function of orientationReflection indexed by normalCS348B Lecture 12 Pat Hanrahan, Spring 2005Environment MapsInterface, Chou and Williams (ca. 1985)CS348B Lecture 12 Pat Hanrahan, Spring 2005Environment Map Approximation Ray TracedEnvironment MapSelf reflections are missing in the environment mapCS348B Lecture 12 Pat Hanrahan, Spring 2005Cylindrical PanoramasQuickTime VRMars PathfinderMemorial Church (Ken Turkowski)CS348B Lecture 12 Pat Hanrahan, Spring 2005Fisheye LensPair of 180 degree fisheyePhoto by K. TurkowskiCS348B Lecture 12 Pat Hanrahan, Spring 2005Cubical Environment Map Easy to produce with rendering system Possible to produce from photographs “Uniform” resolution Simple texture coordinates calculationCS348B Lecture 12 Pat Hanrahan, Spring 2005Direction MapsMany ways to map directions to images...Methods:Lattitude-Longitude (Map Projections) [Newell and Blinn]Create by paintingGazing Ball (N) [Miller and Hoffman]Create by photographing a reflective sphereFisheye LensStandard camera lensCubical Environment Map (R)Create with a rendering program, photography...Issues:Non-linear mapping - expensive, curved linesArea distortion - spatially varying resolutionConvert between maps using image warpCS348B Lecture 12 Pat Hanrahan, Spring 2005Shadow MattesUberLight( ){ Clip to near/far planes Clip to shape boundary foreach superelliptical blocker atten *= … foreach cookie texture atten *= … foreach slide texture color *= … foreach noise texture atten, color *= … foreach shadow map atten, color *= … Calculate intensity fall-off Calculate beam distribution}Inconsistent ShadowsProjected Shadow Matte Projected TextureCS348B Lecture 12 Pat Hanrahan, Spring 2005Reflectance MapsCS348B Lecture 12 Pat Hanrahan, Spring 2005Capturing Reflectance MapsPhotographs of 5 spheres in 3 environments[Adelson and Dror]CS348B Lecture 12 Pat Hanrahan, Spring 2005Creating Lambertian Reflectance MapIncident Lighting Reflected Light� �( ) ( )B Er=N NIrradiance MapCS348B Lecture 12 Pat Hanrahan, Spring 2005Creating Phong Reflectance MapsFor each normal direction For each incoming direction (hemispherical integral) Evaluate reflection equationCS348B Lecture 12 Pat Hanrahan, Spring 2005Filtered Environment MapsFrom W. HeidrichCS348B Lecture 12 Pat Hanrahan, Spring 2005Reflectance Space ShadingCabral, Olano, Nemic 199912 directionsCS348B Lecture 12 Pat Hanrahan, Spring 2005Illumination Maps*=Reflectance Irradiance Radiosity( )B x( )E x( )xrCS348B Lecture 12 Pat Hanrahan, Spring 2005Quake Light Maps*Lower resolutionCS348B Lecture 12 Pat Hanrahan, Spring 2005Bidirectional Texture Function (BTF)PlasterCS348B Lecture 12 Pat Hanrahan, Spring 2005BTF MappingComplex interplay between texture and reflectionCS348B Lecture 12 Pat Hanrahan, Spring 2005Shadow MapsShadow maps = depth maps from light sourceCS348B Lecture 12 Pat Hanrahan, Spring 2005Correct Shadow MapsStep 1: Create z-buffer of scene as seen from light sourceStep 2. Render scene as seen from the eyeFor each lightTransform point into light coordinatesreturn (zl < zbuffer[xl][yl] ) ? 1 : 0CS348B Lecture 12 Pat Hanrahan, Spring 2005Ambient Occlusion MapsFrom Production ready global illumination, Hayden Landis, ILMCS348B Lecture 12 Pat Hanrahan, Spring 2005Displacement/Bump MappingDisplacementPerturbed normal( , )( ) ( )u vu vu vh h� � �= �= + � + �N P PN T N S N( , ) ( , ) ( , ) ( , )u v u v h u v u v�= +P P NFrom Blinn 1976( , )u vP( , )( , )u vu vu��=PS( , )( , )u vu vv��=PT( , )u v = �N S TCS348B Lecture 12 Pat Hanrahan, Spring 2005Normal Maps(nx,ny,nz) = (r,g,b)http://members.shaw.ca/jimht03/normal.htmlCS348B Lecture 12 Pat Hanrahan, Spring 2005HierarchyPhysics Computer GraphicsGeometrical optics GeometryMacro-structures Displacement (P) maps Transport Bump (N) mapsMicro-structures Reflection Microfacets TexturePhysical optics Kirchoff approx.Quantum
View Full Document