Steve Marschner CS5625 Spring 2019 Predicting Reflectance Functions from Complex Surfaces

Total Page:16

File Type:pdf, Size:1020Kb

Steve Marschner CS5625 Spring 2019 Predicting Reflectance Functions from Complex Surfaces 08 Detail mapping Steve Marschner CS5625 Spring 2019 Predicting Reflectance Functions from Complex Surfaces Stephen H. Westin James R. Arvo Kenneth E. Torrance Program of Computer Graphics Cornell University Ithaca, New York 14853 Hierarchy of scales Abstract 1000 macroscopic Geometry We describe a physically-based Monte Carlo technique for ap- proximating bidirectional reflectance distribution functions Object scale (BRDFs) for a large class of geometriesmesoscopic by directly simulating 100 optical scattering. The technique is more general than pre- vious analytical models: it removesmicroscopic most restrictions on sur- Texture, face microgeometry. Three main points are described: a new bump maps 10 representation of the BRDF, a Monte Carlo technique to esti- mate the coefficients of the representation, and the means of creating a milliscale BRDF from microscale scattering events. Milliscale These allow the prediction of scattering from essentially ar- (Mesoscale) 1 mm Texels bitrary roughness geometries. The BRDF is concisely repre- sented by a matrix of spherical harmonic coefficients; the ma- 0.1 trix is directly estimated from a geometric optics simulation, BRDF enforcing exact reciprocity. The method applies to rough- ness scales that are large with respect to the wavelength of Microscale light and small with respect to the spatial density at which 0.01 the BRDF is sampled across the surface; examples include brushed metal and textiles. The method is validated by com- paring with an existing scattering model and sample images are generated with a physically-based global illumination al- Figure 1: Applicability of Techniques gorithm. CR Categories and Subject Descriptors: I.3.7 [Computer model many surfaces, such as those with anisotropic rough- Graphics]: Three-Dimensional Graphics and Realism. ness. Models that deal with anisotropic surfaces [8, 11] fail to spherical harmonics, Monte Carlo, Additional Key Words: assure physical consistency. anisotropic reflection, BRDF This paper presents a new method of creating local scat- tering models. The method has three main components: a concise, general representation of the BRDF, a technique to 1 Introduction estimate the coefficients of the representation, and a means of using scattering at one scale to create a BRDF for a larger Since the earliest days of computer graphics, experimenters scale. The representation used makes it easy to enforce the ba- have recognized that the realism of an image is limited by sic physical property of scattering reciprocity, and its approx- the sophistication of the model of local light scattering [3, 12]. imation does not require discretizing scattering directions as Non-physically-based local lighting models, such as that of in the work of Kajiya [8] and Cabral et al. [1]. Phong [12], although computationally simple, exclude many The method can predict scattering from any geometry that important physical effects and lack the energy consistency can be ray-traced: polygons, spheres, parametric patches, needed for global illumination calculations. Physically-based and even volume densities. Previous numerical techniques models [2, 5, 15] reproduce many effects better, but cannot were limited to height fields, and analytical methods have been developed only for specific classes of surface geome- try. The new method accurately models both isotropic and anisotropic surfaces such as brushed metals, velvet, and wo- Permission to copy without fee all or part of this material is granted ven textiles. provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the Figure 1 shows several representations used in realistic ren- publication and its date appear, and notice is given that copying is by dering, along with approximate scale ranges where each is permission of the Association for Computing Machinery. To copy applicable. At the smallest scale (size 1 mm), which we call otherwise, or to republish, requires a fee and/or specific permission. microscale,theBRDFaccuratelycapturestheappearanceofa 1992 ACM-0-89791-479-1/92/007/0255 Displacement and Bump/Normal Mapping Mimic effect of geometric detail/meso geometry • Also detail mapping Geometry Bump Displacement mapping mapping Displacement Mapping Pnew = Pold + DM(u)* N • p0(u, v)=p(u, v)+h(u, v)n(u, v) Displacement in vertex shader Displacement Maps Pros • Gives you very complex surfaces Cons • Gives you very complex surfaces • Or boring with small numbers of vertices Relationship with tesselation shaders [wikiwand] Original Tesselated Displacement Mapped Bump mapping “Simulation of Wrinkled Surfaces” Blinn 78 Blinn: keep surface, use new normals Normals in displacement mapping • Displacement changes the surface normal, depending on: – derivative of height function – orientation of texture coordinates – speed of texture coordinates normals unchanged displaced surface constant height function normals tilted displaced surface varying height function Cornell CS4620 Fall 2018 • Lecture 15 © 2017 Steve Marschner • 10 How to change the normal? First, need some frame of reference • Normal is modified with respect to that • Have tangent space basis: t and b • Normal, tangent and bitangent vectors Geometry for displacement • geometric inputs – u tangent (unnormalized) as vertex attribute – v tangent (unnormalized) as vertex attribute – height field as a texture • vertex stage – compute displaced vertex position – look up displacement value from texture – compute normal to displaced surface (or compute them ahead of time – compute derivatives of height by finite differences and store height and derivatives in a – add offset to the base surface tangents 3-channel texture) – normalized cross product is the shading normal • fragment stage: just compute shading Cornell CS4620 Fall 2018 • Lecture 15 © 2017 Steve Marschner • 12 Bump Mapping Alter normals of surface • Only affects shading normals Also, mimics effect of small scale geometry • Detail map • Except at silhouette • Adds perceived bumps, wrinkles 4. DEPENDANCE ON SCALE X(u,v) = u Y(u,v) = v One feature of the perturbation calculation Z(u,v) = 0 is that the perturbation amount is not invariant with the scale at which the object is drawn. If For this patch the original normal vector the X, Y, and Z surface definiton functions are perturbation gives scaled up by 2 then the normal vector length, INI, scaled up by a factor of 4 while the N = (0,0,1) perturbationszn pamount,le results IDI,that iscan onlybe acscaledhieved wbyith 2.this D = (-Fu,-Fv,0) This effectte chisniq uduee. toT hethe fi rsfactt pa tthattern, thea h anobjectd drawn isunit tan+ = sqrt(Fu'+Fv') cell of bricks was mapped onto the sphere on the being scaledcov er.but the displacement function F is not. (Scale changes due to the object moving Here the value of a is purely a function of F. nearer or farther from the viewer in perspective Use of the same function for arbitrary patches space do not affect the size of the wrinkles, only corresponds to a perturbation of scale shanges applied directly to the object.) The net effect of this is that if an object is scaled a = sqrt(Fu'+Fv.') up, the wrinkles flatten out. This is illustrated D' = a D lNl/lDl in figure 9. N" = N + D' The texture defining function F is now no longer being used as an actual displacement added to the position of the surface. It just serves to provide (in the form if its derivatives) a means of defining the rotation axis and angle as norma l stretched functions of u and v. Figure 9 - stretched Bump Texture 5 . ALIASING In an earlier paper 121, the author described This effect might be desirable for some the effect of aliasing on images made with color applications but undesirable for others. A scale texture mapping. The same problems can arise with invariant perturbation, D', must scale at the same this new form. That is, undesirable artifacts can rate as N. An obvious choice for this is enter the image in regions where the texture pattern maps into a small screen region. The D' = a D INI/IDI solution applied to color textures was to average the texture pattern over the region corresponding 50 ID’1 = a INI to each picture element in the final image. The bump texture definition function, however, does where a is independent of scales in P. The value not have a linear relationship to the intensity of of a is then the tangent of the effective rotation the final image. If the bump texture is averaged angle. the effect will be to smooth out the bumps rather than average the intensities. The correct tan+' = ID'l/lNl = a solution to this problem would be to compute the intensities at some high sub-pixel resolution and This can be defined in variousBump ways. mappingOne simple average them. Simply filtering the bump function choice is a generalization from the simple, flat can,- however,-. reduce the more offensive artifacts unit square patch o f aliasing. Figure 10 shows the result of such an operation. FigureFi gA-ure Hand8 DrawnHand D Bumprawn FuntionsFunctions [Blinn 1978] Before After : Figure 10 - Filtering Bump Texture 291 Bump Mapping Bump mapping Displacement mapping is expensive • requires densely tessellated geometry • many triangles to rasterize For small displacements, the most important effect is on the normal • so just do that part; don’t displace the surface Bump mapping is then a fragment operation • doesn’t require dense tessellation • doesn’t actually displace the surface • gives shading that looks just like displaced surface Bump Mapping Bump mapping Geometric
Recommended publications
  • Practical Parallax Occlusion Mapping for Highly Detailed Surface Rendering
    PracticalPractical ParallaxParallax OcclusionOcclusion MappingMapping ForFor HighlyHighly DetailedDetailed SurfaceSurface RenderingRendering Natalya Tatarchuk 3D Application Research Group ATI Research, Inc. Let me introduce… myself ! Natalya Tatarchuk ! Research Engineer ! Lead Engineer on ToyShop ! 3D Application Research Group ! ATI Research, Inc. ! What we do ! Demos ! Tools ! Research The Plan ! What are we trying to solve? ! Quick review of existing approaches for surface detail rendering ! Parallax occlusion mapping details ! Discuss integration into games ! Conclusions The Plan ! What are we trying to solve? ! Quick review of existing approaches for surface detail rendering ! Parallax occlusion mapping details ! Discuss integration into games ! Conclusions When a Brick Wall Isn’t Just a Wall of Bricks… ! Concept versus realism ! Stylized object work well in some scenarios ! In realistic games, we want the objects to be as detailed as possible ! Painting bricks on a wall isn’t necessarily enough ! Do they look / feel / smell like bricks? ! What does it take to make the player really feel like they’ve hit a brick wall? What Makes a Game Truly Immersive? ! Rich, detailed worlds help the illusion of realism ! Players feel more immersed into complex worlds ! Lots to explore ! Naturally, game play is still key ! If we want the players to think they’re near a brick wall, it should look like one: ! Grooves, bumps, scratches ! Deep shadows ! Turn right, turn left – still looks 3D! The Problem We’re Trying to Solve ! An age-old 3D rendering
    [Show full text]
  • Indirection Mapping for Quasi-Conformal Relief Texturing
    Indirection Mapping for Quasi-Conformal Relief Texturing Morgan McGuire∗ Kyle Whitson Williams College Figure 1: A single polygon rendered with parallax occlusion mapping (POM). Left: Directly applying POM distorts texture resolution, producing stretch artifacts. Right: We achieve approximately uniform resolution by applying a precomputed indirection in the pixel shader. Abstract appearance of depth and parallax, is simulated by offsetting the tex- Heightfield terrain and parallax occlusion mapping (POM) are pop- ture coordinates according to a bump map during shading. The fig- ular rendering techniques in games. They can be thought of as ure uses the actual material texture maps and bump map from the per-vertex and per-pixel relief methods, which both create texture developer’s game. The texture stretch visible in the left subfigure stretch artifacts at steep slopes. along the sides of the indent, is the kind of artifact that they were To ameliorate stretching artifacts, we describe how to precom- concerned about. pute an indirection map that transforms traditional texture coordi- This paper describes a solution to texture stretch called indirec- nates into a quasi-conformal parameterization on the relief surface. tion mapping, which was used to generate figure 1(right). Indirec- The map arises from iteratively relaxing a spring network. Because tion mapping achieves approximately uniform texture resolution on it is independent of the resolution of the base geometry, indirec- even steep slopes. It operates by replacing the color texture read in tion mapping can be used with POM, heightfields, and any other a pixel shader with an indirect read through an indirection map. The displacement effect.
    [Show full text]
  • Game Developers Conference Europe Wrap, New Women’S Group Forms, Licensed to Steal Super Genre Break Out, and More
    >> PRODUCT REVIEWS SPEEDTREE RT 1.7 * SPACEPILOT OCTOBER 2005 THE LEADING GAME INDUSTRY MAGAZINE >>POSTMORTEM >>WALKING THE PLANK >>INNER PRODUCT ART & ARTIFICE IN DANIEL JAMES ON DEBUG? RELEASE? RESIDENT EVIL 4 CASUAL MMO GOLD LET’S DEVELOP! Thanks to our publishers for helping us create a new world of video games. GameTapTM and many of the video game industry’s leading publishers have joined together to create a new world where you can play hundreds of the greatest games right from your broadband-connected PC. It’s gaming freedom like never before. START PLAYING AT GAMETAP.COM TM & © 2005 Turner Broadcasting System, Inc. A Time Warner Company. Patent Pending. All Rights Reserved. GTP1-05-116-104_mstrA_v2.indd 1 9/7/05 10:58:02 PM []CONTENTS OCTOBER 2005 VOLUME 12, NUMBER 9 FEATURES 11 TOP 20 PUBLISHERS Who’s the top dog on the publishing block? Ranked by their revenues, the quality of the games they release, developer ratings, and other factors pertinent to serious professionals, our annual Top 20 list calls attention to the definitive movers and shakers in the publishing world. 11 By Tristan Donovan 21 INTERVIEW: A PIRATE’S LIFE What do pirates, cowboys, and massively multiplayer online games have in common? They all have Daniel James on their side. CEO of Three Rings, James’ mission has been to create an addictive MMO (or two) that has the pick-up-put- down rhythm of a casual game. In this interview, James discusses the barriers to distributing and charging for such 21 games, the beauty of the web, and the trouble with executables.
    [Show full text]
  • GAME DEVELOPERS a One-Of-A-Kind Game Concept, an Instantly Recognizable Character, a Clever Phrase— These Are All a Game Developer’S Most Valuable Assets
    HOLLYWOOD >> REVIEWS ALIAS MAYA 6 * RTZEN RT/SHADER ISSUE AUGUST 2004 THE LEADING GAME INDUSTRY MAGAZINE >>SIGGRAPH 2004 >>DEVELOPER DEFENSE >>FAST RADIOSITY SNEAK PEEK: LEGAL TOOLS TO SPEEDING UP LIGHTMAPS DISCREET 3DS MAX 7 PROTECT YOUR I.P. WITH PIXEL SHADERS POSTMORTEM: THE CINEMATIC EFFECT OF ZOMBIE STUDIOS’ SHADOW OPS: RED MERCURY []CONTENTS AUGUST 2004 VOLUME 11, NUMBER 7 FEATURES 14 COPYRIGHT: THE BIG GUN FOR GAME DEVELOPERS A one-of-a-kind game concept, an instantly recognizable character, a clever phrase— these are all a game developer’s most valuable assets. To protect such intangible properties from pirates, you’ll need to bring out the big gun—copyright. Here’s some free advice from a lawyer. By S. Gregory Boyd 20 FAST RADIOSITY: USING PIXEL SHADERS 14 With the latest advances in hardware, GPU, 34 and graphics technology, it’s time to take another look at lightmapping, the divine art of illuminating a digital environment. By Brian Ramage 20 POSTMORTEM 30 FROM BUNGIE TO WIDELOAD, SEROPIAN’S BEAT GOES ON 34 THE CINEMATIC EFFECT OF ZOMBIE STUDIOS’ A decade ago, Alexander Seropian founded a SHADOW OPS: RED MERCURY one-man company called Bungie, the studio that would eventually give us MYTH, ONI, and How do you give a player that vicarious presence in an imaginary HALO. Now, after his departure from Bungie, environment—that “you-are-there” feeling that a good movie often gives? he’s trying to repeat history by starting a new Zombie’s answer was to adopt many of the standard movie production studio: Wideload Games.
    [Show full text]
  • Procedural Modeling
    Procedural Modeling From Last Time • Many “Mapping” techniques – Bump Mapping – Normal Mapping – Displacement Mapping – Parallax Mapping – Environment Mapping – Parallax Occlusion – Light Mapping Mapping Bump Mapping • Use textures to alter the surface normal – Does not change the actual shape of the surface – Just shaded as if it were a different shape Sphere w/Diffuse Texture Swirly Bump Map Sphere w/Diffuse Texture & Bump Map Bump Mapping • Treat a greyscale texture as a single-valued height function • Compute the normal from the partial derivatives in the texture Another Bump Map Example Bump Map Cylinder w/Diffuse Texture Map Cylinder w/Texture Map & Bump Map Normal Mapping • Variation on Bump Mapping: Use an RGB texture to directly encode the normal http://en.wikipedia.org/wiki/File:Normal_map_example.png What's Missing? • There are no bumps on the silhouette of a bump-mapped or normal-mapped object • Bump/Normal maps don’t allow self-occlusion or self-shadowing From Last Time • Many “Mapping” techniques – Bump Mapping – Normal Mapping – Displacement Mapping – Parallax Mapping – Environment Mapping – Parallax Occlusion – Light Mapping Mapping Displacement Mapping • Use the texture map to actually move the surface point • The geometry must be displaced before visibility is determined Displacement Mapping Image from: Geometry Caching for Ray-Tracing Displacement Maps EGRW 1996 Matt Pharr and Pat Hanrahan note the detailed shadows cast by the stones Displacement Mapping Ken Musgrave a.k.a. Offset Mapping or Parallax Mapping Virtual Displacement Mapping • Displace the texture coordinates for each pixel based on view angle and value of the height map at that point • At steeper view-angles, texture coordinates are displaced more, giving illusion of depth due to parallax effects “Detailed shape representation with parallax mapping”, Kaneko et al.
    [Show full text]
  • Practical Parallax Occlusion Mapping for Highly Detailed Surface Rendering
    Practical Parallax Occlusion Mapping For Highly Detailed Surface Rendering Natalya Tatarchuk 3D Application Research Group ATI Research, Inc. The Plan • What are we trying to solve? • Quick review of existing approaches for surface detail rendering • Parallax occlusion mapping details – Comparison against existing algorithms • Discuss integration into games • Conclusions The Plan • What are we trying to solve? • Quick review of existing approaches for surface detail rendering • Parallax occlusion mapping details • Discuss integration into games • Conclusions When a Brick Wall Isn’t Just a Wall of Bricks… • Concept versus realism – Stylized object work well in some scenarios – In realistic applications, we want the objects to be as detailed as possible • Painting bricks on a wall isn’t necessarily enough – Do they look / feel / smell like bricks? – What does it take to make the player really feel like they’ve hit a brick wall? What Makes an Environment Truly Immersive? • Rich, detailed worlds help the illusion of realism • Players feel more immersed into complex worlds – Lots to explore – Naturally, game play is still key • If we want the players to think they’re near a brick wall, it should look like one: – Grooves, bumps, scratches – Deep shadows – Turn right, turn left – still looks 3D! The Problem We’re Trying to Solve • An age-old 3D rendering balancing act – How do we render complex surface topology without paying the price on performance? • Wish to render very detailed surfaces • Don’t want to pay the price of millions of triangles
    [Show full text]
  • Per-Pixel Displacement Mapping with Distance Functions
    108_gems2_ch08_new.qxp 2/2/2005 2:20 PM Page 123 Chapter 8 Per-Pixel Displacement Mapping with Distance Functions William Donnelly University of Waterloo In this chapter, we present distance mapping, a technique for adding small-scale dis- placement mapping to objects in a pixel shader. We treat displacement mapping as a ray-tracing problem, beginning with texture coordinates on the base surface and calcu- lating texture coordinates where the viewing ray intersects the displaced surface. For this purpose, we precompute a three-dimensional distance map, which gives a measure of the distance between points in space and the displaced surface. This distance map gives us all the information necessary to quickly intersect a ray with the surface. Our algorithm significantly increases the perceived geometric complexity of a scene while maintaining real-time performance. 8.1 Introduction Cook (1984) introduced displacement mapping as a method for adding small-scale detail to surfaces. Unlike bump mapping, which affects only the shading of surfaces, displacement mapping adjusts the positions of surface elements. This leads to effects not possible with bump mapping, such as surface features that occlude each other and nonpolygonal silhouettes. Figure 8-1 shows a rendering of a stone surface in which occlusion between features contributes to the illusion of depth. The usual implementation of displacement mapping iteratively tessellates a base sur- face, pushing vertices out along the normal of the base surface, and continuing until 8.1 Introduction 123 Copyright 2005 by NVIDIA Corporation 108_gems2_ch08_new.qxp 2/2/2005 2:20 PM Page 124 Figure 8-1. A Displaced Stone Surface Displacement mapping (top) gives an illusion of depth not possible with bump mapping alone (bottom).
    [Show full text]
  • Displacement Mapped Billboard Clouds
    Displacement Mapped Billboard Clouds Stephan Mantler1 and Stefan Jeschke2 and Michael Wimmer2 1VRVis Research Center, Vienna, Austria 2Institute of Computer Graphics, Vienna University of Technology Figure 1: Impostors of the dragon model. Left: traditional billboard cloud with 31 rectangles and 1.76 MB required texture memory. Middle: traditional billboard cloud with 186 rectangles and 11MB required texture memory. Right: displacement mapped billboard cloud with 31 boxes and 10.3 MB required textured memory. Abstract complex parts of a scene with simple textured geometry that re- semble the geometric models to certain degree. Such image-based representations are called impostors. A recently proposed impostor This paper introduces displacement mapped billboard clouds technique that received much attention are billboard clouds (BBC) (DMBBC), a new image-based rendering primitive for the fast dis- by Decoret et al. [Decoret et al. 2003]. While most existing impos- play of geometrically complex objects at medium to far distances. tor primitives are restricted to a particular viewing region, BBCs The representation is based on the well-known billboard cloud represent a part of a scene as a collection of arbitrarily placed and (BBC) technique, which represents an object as several textured oriented texture-mapped rectangles to which parts of the original rectangles in order to dramatically reduce its geometric complexity. geometry are projected (see Figure 1). Consequently, the repre- Our new method uses boxes instead of rectangles, each box rep- sented scene parts can be observed from all sides. While the qual- resenting a volumetric part of the model. Rendering the contents ity of BBCs is often sufficient for distant parts of a scene, the “flat- of a box is done entirely on the GPU using ray casting.
    [Show full text]
  • Analytic Displacement Mapping Using Hardware Tessellation
    Analytic Displacement Mapping using Hardware Tessellation Matthias Nießner University of Erlangen-Nuremberg and Charles Loop Microsoft Research Displacement mapping is ideal for modern GPUs since it enables high- 1. INTRODUCTION frequency geometric surface detail on models with low memory I/O. How- ever, problems such as texture seams, normal re-computation, and under- Displacement mapping has been used as a means of efficiently rep- sampling artifacts have limited its adoption. We provide a comprehensive resenting and animating 3D objects with high frequency surface solution to these problems by introducing a smooth analytic displacement detail. Where texture mapping assigns color to surface points at function. Coefficients are stored in a GPU-friendly tile based texture format, u; v parameter values, displacement mapping assigns vector off- and a multi-resolution mip hierarchy of this function is formed. We propose sets. The advantages of this approach are two-fold. First, only the a novel level-of-detail scheme by computing per vertex adaptive tessellation vertices of a coarse (low frequency) base mesh need to be updated factors and select the appropriate pre-filtered mip levels of the displace- each frame to animate the model. Second, since the only connec- ment function. Our method obviates the need for a pre-computed normal tivity data needed is for the coarse base mesh, significantly less map since normals are directly derived from the displacements. Thus, we space is needed to store the equivalent highly detailed mesh. Fur- are able to perform authoring and rendering simultaneously without typical ther space reductions are realized by storing scalar, rather than vec- displacement map extraction from a dense triangle mesh.
    [Show full text]
  • Gpu-Based Normal Map Generation
    GPU-BASED NORMAL MAP GENERATION Jesús Gumbau, Carlos González Universitat Jaume I. Castellón, Spain Miguel Chover Universitat Jaume I. Castellón, Spain Keywords: GPU, normal maps, graphics hardware. Abstract: This work presents a method for the generation of normal maps from two polygonal models: a very detailed one with a high polygonal density, and a coarser one which will be used for real-time rendering. This method generates the normal map of the high resolution model which can be applied to the coarser model to improve its shading. The normal maps are completely generated on the graphics hardware. 1 INTRODUCTION a common texture coordinate system, this is not always the case and thus, it is not trivial to A normal map is a two-dimensional image whose implement on the graphics hardware. This is the contents are RGB colour elements which are reason why this kind of tools are often implemented interpreted as 3D vectors containing the direction of on software. the normal of the surface in each point. This is The high programmability of current graphics especially useful in real-time applications when this hardware allows for the implementation of these image is used as a texture applied onto a 3D model, kinds of methods on the GPU. This way, the great because normals for each point of a model can be scalability of the graphics hardware, which is specified without needing more geometry. This increased even more each year, can be used to feature enables the use of correct per-pixel lighting perform this task. using the Phong lighting equation.
    [Show full text]
  • LEAN Mapping
    LEAN Mapping Marc Olano∗ Dan Bakery Firaxis Games Firaxis Games (a) (b) (c) Figure 1: In-game views of a two-layer LEAN map ocean with sun just off screen to the right, and artist-selected shininess equivalent to a Blinn-Phong specular exponent of 13,777: (a) near, (b) mid, and (c) far. Note the lack of aliasing, even with an extremely high power. Abstract 1 Introduction For over thirty years, bump mapping has been an effective method We introduce Linear Efficient Antialiased Normal (LEAN) Map- for adding apparent detail to a surface [Blinn 1978]. We use the ping, a method for real-time filtering of specular highlights in bump term bump mapping to refer to both the original height texture that and normal maps. The method evaluates bumps as part of a shading defines surface normal perturbation for shading, and the more com- computation in the tangent space of the polygonal surface rather mon and general normal mapping, where the texture holds the ac- than in the tangent space of the individual bumps. By operat- tual surface normal. These methods are extremely common in video ing in a common tangent space, we are able to store information games, where the additional surface detail allows a rich visual ex- on the distribution of bump normals in a linearly-filterable form perience without complex high-polygon models. compatible with standard MIP and anisotropic filtering hardware. The necessary textures can be computed in a preprocess or gener- Unfortunately, bump mapping has serious drawbacks with filtering ated in real-time on the GPU for time-varying normal maps.
    [Show full text]
  • Real-Time Rendering of Normal Maps with Discontinuities
    Evgueni Parilov · Ilya Rosenberg · Denis Zorin Real-time rendering of normal maps with discontinuities CIMS Technical Report, TR2005-872 August, 2005 Abstract Normal mapping uses normal perturbations stored in a texture to give objects a more geometrically complex appearance without increasing the number of geometric primitives. Standard bi- and trilinear inter- polation of normal maps works well if the normal field is continuous, but may result in visible artifacts in the areas where the field is discontinuous, which is common for surfaces with creases and dents. In this paper we describe a real-time rendering technique which preserves the discontinuity curves of the normal field at sub-pixel level and its GPU implementation. Our representation of the piecewise-continuous normal field is based on approximations of the distance function to the discontinuity set and its gradient. Using these approximations we can efficiently reconstruct discontinuities at arbitrary resolution and ensure that no normals are interpolated across the discontinuity. We also described a method for updating the normal field along the discontinuities in real-time based on blending the original field with the one calculated from a user-defined surface profile. Keywords Interactive rendering · real-time normal mapping · discontinuous normal field · distance function approximation · constrained Laplacian smoothing 1 Introduction Bump and normal mapping is a widely used technique for adding complex small-scale geometric detail to models, in which only the normals are modified using perturbations stored in a texture. Bump mapping and related techniques were successfully applied in combination with a variety of rendering algorithms, and thanks to the advances in graphics hardware its use is becoming routine in interactive applications.
    [Show full text]