Improving Baked Textures As a Content Creator

Total Page:16

File Type:pdf, Size:1020Kb

Improving Baked Textures As a Content Creator Bachelor Thesis Digital Game Development Thesis no: TA-2013:06 05 2013 Improving Baked Textures as a Content Creator Robin Karlsson School of Computing Blekinge Institute of Technology SE-371 79 Karlskrona Sweden This thesis is submitted to the School of Computing at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Bachelor of Science in Digital Game Development. The thesis is equivalent to 10 weeks of full time studies. Contact Information: Author(s): Robin Karlsson 910315-4416 E-mail: [email protected] University advisor(s): Mr. Petar Jercic School of Computing School of Computing Blekinge Institute of Technology Internet : www.bth.se/com SE-371 79 Karlskrona Phone : +46 455 38 50 00 Sweden Fax : +46 455 38 50 57 Abstract Problems. This thesis will look at texture-baking for games and the various problems that surrounds it. Tex- ture baking is the process of transferring details from an often-times very dense high-polygonal details mesh to a lower detailed model that can be used in a game more ef- ficiently. The problems discussed include topics such as failed tangent basis synchronization and improving bakes by using methods such as cages, smoothing groups splits, etc. Motivation. The reason for looking at this is that it is an important topic in content creation for modern games. Yet people are still struggling with how to get normalmaps that are interpreted correctly in their game engine of choice and how to get clean bakes. Solution. The results are a few different methods for im- proving baked textures (such as proxy meshes and cages, etc.) and establishing a pipeline with tangent synchroniza- tion via Handplane. The practical results are in the end presented by some comparison images with models that do and does not use the techniques discussed in this work. The pipeline created in the thesis has the potential to improve the generation of baked textures in a way so that they will render better in real-time applications. Methodology. The results were established by basing it upon baking experiences regarding baking and texturing models for real-time applications. The experiments were set up so that the author would revisit older, somewhat complex models and try to improve their baking. There were also a comparison of applications that were compared by trying to generate noise-less ambient occlusion textures and comparing results such as render time and quality. Keywords: Texture-baking, normalmaps, pipeline i Contents Abstract i 1 Introduction 1 1.1 Chapter Outline . 1 1.2 Background . 3 1.2.1 Real-time Rendering . 3 1.2.2 Texture Baking . 3 1.3 Research Questions . 5 1.3.1 Are there any differences worth mentioning between baking applications . 5 1.3.2 What methods are the to improve baked results? . 5 1.3.3 How can the baking pipeline be improved upon . 5 1.4 Purpose . 6 2 Production and Methods 7 2.1 Methodology . 7 2.1.1 Testmodels . 7 2.1.2 Testing . 7 2.2 Common Baked Textures . 9 2.2.1 Normal Maps . 9 2.2.2 Ambient Occlusion . 10 2.2.3 Displacement . 10 2.2.4 Light/shadow . 11 2.3 State of the Art of Texture Baking . 13 2.3.1 Blender . 13 2.3.2 Maya/Mental Ray . 14 2.3.3 xNormal . 14 2.3.4 ZBrush . 14 2.3.5 Comparison . 16 3 Results and Conclusions 17 3.1 Improving Baked Textures . 17 3.1.1 Smoothing-groups/edge-splits . 17 3.1.2 UV-seams and layout . 18 ii 3.1.3 Cages . 19 3.1.4 Support geometry . 20 3.1.5 Triangulation . 20 3.1.6 Exploding . 20 3.1.7 Unified meshes . 21 3.2 Diversified Baking Pipeline . 22 3.2.1 Pipeline . 23 3.3 Improving the Content Creation Workflow . 26 3.3.1 Standardized Tangents and Normal map Interpretation . 26 3.3.2 Custom Tangent Basis . 26 3.3.3 Object Space Normal maps . 26 3.3.4 Image Masks . 27 3.4 Model Results . 29 3.4.1 Ball Mask . 29 3.4.2 Clock . 29 3.5 Discussion . 31 3.5.1 Pipeline Strengths . 31 3.5.2 Testing models . 31 3.6 Conclusions . 32 3.7 Future Work . 33 3.7.1 Tiling Textures . 33 3.7.2 Lightmap Baking . 33 3.7.3 2D Baking . 33 4 References 34 A Appendix 35 A.1 Word List . 35 iii List of Figures 2.1 Showcase of ambient occlusion: Clock A is without, Clock B is with AO. 11 2.2 ZBrush detail transer: highpoly (A), lowpoly (B), reprojected high- poly (C) . 15 2.3 Table of the different rendertimes for ambient occlusion in the dif- ferent applications . 16 3.1 Demonstration of the difference normal splits make: texture A is without edge-splitting and texture B is with. 18 3.2 Showcase of how important cages or support geometry can be. A is the original mesh (without anything extra to control the baking), mesh B have some support loops along the top and mesh C uses a cage to control the ray-casting. 19 3.3 Demonstration of the difference of using exploded (A), split but unexploded (B) and unified topology (C) for the intersection of a cylinder with a cube. Wireframe model provided for clarity. 21 3.4 Demonstration of unsynchronized (b) and synchronized (c) tan- gents space normal maps rendered in the Unity game engine. Only the normal maps are different. Highpoly model (A) is shown for clarity . 22 3.5 An example of a color-mask texture . 27 3.6 UDK render of two ballmasks with before (A) and after (B) com- parisons . 29 3.7 UDK render of two clocks with before (A) and after (B) comparisons 30 iv Chapter 1 Introduction This thesis will discuss baking textures for realtime models using the content creation pipeline and discuss the problems surrounding this. To bake textures mean that one project details such as the normals and/or ambient occlusion (and other texture maps often based on the geometry) that a highpoly model contains. This baking is an offline rendering which means that it will not be done in real- time and only during the creation of the model. The subject were chosen because it is a very important part of the digital content creation process and there are still some problems surrounding it, most importantly tangent synchronization (which regards how normal maps are inter- preted) and problems surrounding making clean bakes for their models. To make a clean bake means that you manage to generate your baked textures without any artefacts, such as missed geometry along the smoothing group splits and/or asynchronous tangent bases. The latter meaning that the normal map is interpreted differently in the baking and rendering applications. A thesaurus is included in the appendix that should include explanations for most of the terms used in this thesis. However the terms will be explained as they are brought up as well. 1.1 Chapter Outline Chapter 1 will start out talking about what texture baking is and some of the problems surrounding it. It will then go on to describe the questions that this thesis hope to resolve. Chapter 2 will then go on to describe the methodology behind the research and talk briefly about some popular textures to bake. Lastly there will be a look at some of the more popular baking applications as to see if there is a need for being able to freely choose baking application/applications. Chapter 3 will finally attempt to answer the research questions posed earlier by talking about methods to improve baked textures and a pipeline that is a bit 1 Chapter 1. Introduction 2 more open regarding choice of baking applications. The thesis will then finish by showing the resulting models and some concluding thoughts and reflections. Chapter 4 will contain the references for the thesis. Chapter 1. Introduction 3 1.2 Background 1.2.1 Real-time Rendering Real-time rendering is concerned with making images rapidly on the computer. It is the most highly interactive area of computer graphics. An image appears on the screen, the viewer acts or reacts, and this feedback affects what is generated next. This cycle of reaction and rendering happens at a rapid enough rate that the viewer does not see individual images, but rather becomes immersed in a dynamic process. (Akenine-Moller T. et. al 2012) In short, real-time rendering today consists of sending data (geometry and textures) to the graphics card (GPU) where it will use that data to later render the images in very fast succession (preferably 30 renders per second or more). The need to render so quickly makes it necessary to use simplified rendering methods (such as simplified lighting methods), more optimized (lower polygon) models and smaller textures than you would otherwise need if the rendering were not occurring in real-time. The render method on the other side of the spectrum is called offline rendering. Offline rendering can handle millions of triangles with high-resolution textures, more complex lighting and advanced animation, etc. because it does not need to be nearly as fast as the real-time rendering. An offline render can take hours or even days to render a single frame. In short real-time rendering is used for interactive software or games (for example Mayas viewport or the game Crysis), while offline rendering is often used for movies (e.g Toy Story or Avatar). There is however a technique that can be used for making real-time rendering look a lot more like offline rendering, this technique is called texture baking.
Recommended publications
  • Seamless Texture Mapping of 3D Point Clouds
    Seamless Texture Mapping of 3D Point Clouds Dan Goldberg Mentor: Carl Salvaggio Chester F. Carlson Center for Imaging Science, Rochester Institute of Technology Rochester, NY November 25, 2014 Abstract The two similar, quickly growing fields of computer vision and computer graphics give users the ability to immerse themselves in a realistic computer generated environment by combining the ability create a 3D scene from images and the texture mapping process of computer graphics. The output of a popular computer vision algorithm, structure from motion (obtain a 3D point cloud from images) is incomplete from a computer graphics standpoint. The final product should be a textured mesh. The goal of this project is to make the most aesthetically pleasing output scene. In order to achieve this, auxiliary information from the structure from motion process was used to texture map a meshed 3D structure. 1 Introduction The overall goal of this project is to create a textured 3D computer model from images of an object or scene. This problem combines two different yet similar areas of study. Computer graphics and computer vision are two quickly growing fields that take advantage of the ever-expanding abilities of our computer hardware. Computer vision focuses on a computer capturing and understanding the world. Computer graphics con- centrates on accurately representing and displaying scenes to a human user. In the computer vision field, constructing three-dimensional (3D) data sets from images is becoming more common. Microsoft's Photo- synth (Snavely et al., 2006) is one application which brought attention to the 3D scene reconstruction field. Many structure from motion algorithms are being applied to data sets of images in order to obtain a 3D point cloud (Koenderink and van Doorn, 1991; Mohr et al., 1993; Snavely et al., 2006; Crandall et al., 2011; Weng et al., 2012; Yu and Gallup, 2014; Agisoft, 2014).
    [Show full text]
  • Poseray Handbuch 3.10.3
    Das PoseRay Handbuch 3.10.3 Zusammengestellt von Steely. Angelehnt an die PoseRay Hilfedatei. PoseRay Handbuch V 3.10.3 Seite 1 Yo! Hör genau zu: Dies ist das deutsche Handbuch zu PoseRay, basierend auf dem Helpfile zum Programm. Es ist keine wörtliche Übersetzung, und FlyerX trifft keine Schuld an diesem Dokument (wenn man davon absieht, daß er PoseRay geschrieben hat). Dies ist ein Handbuch, kein Tutorial. Es erklärt nicht, wie man mit Poser tolle Frauen oder mit POV- Ray tolle Bilder macht. Es ist nur eine freie Übersetzung der poseray.html, die PoseRay beiliegt. Ich will mich bemühen, dieses Dokument aktuell zu halten, und es immer dann überarbeiten und erweitern, wenn FlyerX sichtbar etwas am Programm verändert. Das ist zumindest der Plan. Damit keine Verwirrung aufkommt, folgt das Handbuch in seinen Versionsnummern dem Programm. Die jeweils neueste Version findest Du auf meiner Homepage: www.blackdepth.de. Sei dankbar, daß Schwedenmann und Tom33 von www.POVray-forum.de meinen Prolltext auf Fehler gecheckt haben, sonst wäre das Handbuch noch grausiger. POV-Ray, Poser, DAZ, und viele andere Programm- und Firmennamen in diesem Handbuch sind geschützte Warenzeichen oder zumindest wie solche zu behandeln. Daß kein TM dahinter steht, bedeutet nicht, daß der Begriff frei ist. Unser Markenrecht ist krank, bevor Du also mit den Namen und Begriffen dieses Handbuchs rumalberst, mach dich schlau, ob da einer die Kralle drauf hat. Noch was: dieses Handbuch habe ich geschrieben, es ist mein Werk und ich kann damit machen, was ich will. Deshalb bestimme ich, daß es nicht geschützt ist. Es gibt schon genug Copyright- und IPR- Idioten; ich muß nicht jeden Blödsinn nachmachen.
    [Show full text]
  • POV-Ray Reference
    POV-Ray Reference POV-Team for POV-Ray Version 3.6.1 ii Contents 1 Introduction 1 1.1 Notation and Basic Assumptions . 1 1.2 Command-line Options . 2 1.2.1 Animation Options . 3 1.2.2 General Output Options . 6 1.2.3 Display Output Options . 8 1.2.4 File Output Options . 11 1.2.5 Scene Parsing Options . 14 1.2.6 Shell-out to Operating System . 16 1.2.7 Text Output . 20 1.2.8 Tracing Options . 23 2 Scene Description Language 29 2.1 Language Basics . 29 2.1.1 Identifiers and Keywords . 30 2.1.2 Comments . 34 2.1.3 Float Expressions . 35 2.1.4 Vector Expressions . 43 2.1.5 Specifying Colors . 48 2.1.6 User-Defined Functions . 53 2.1.7 Strings . 58 2.1.8 Array Identifiers . 60 2.1.9 Spline Identifiers . 62 2.2 Language Directives . 64 2.2.1 Include Files and the #include Directive . 64 2.2.2 The #declare and #local Directives . 65 2.2.3 File I/O Directives . 68 2.2.4 The #default Directive . 70 2.2.5 The #version Directive . 71 2.2.6 Conditional Directives . 72 2.2.7 User Message Directives . 75 2.2.8 User Defined Macros . 76 3 Scene Settings 81 3.1 Camera . 81 3.1.1 Placing the Camera . 82 3.1.2 Types of Projection . 86 3.1.3 Focal Blur . 88 3.1.4 Camera Ray Perturbation . 89 3.1.5 Camera Identifiers . 89 3.2 Atmospheric Effects .
    [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]
  • 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.
    [Show full text]
  • Texture Mapping There Are Limits to Geometric Modeling
    Texture Mapping There are limits to geometric modeling http://www.beinteriordecorator.com National Geographic Although modern GPUs can render millions of triangles/sec, that’s not enough sometimes... Use texture mapping to increase realism through detail Rosalee Wolfe This image is just 8 polygons! [Angel and Shreiner] [Angel and No texture With texture Pixar - Toy Story Store 2D images in buffers and lookup pixel reflectances procedural photo Other uses of textures... [Angel and Shreiner] [Angel and Light maps Shadow maps Environment maps Bump maps Opacity maps Animation 99] [Stam Texture mapping in the OpenGL pipeline • Geometry and pixels have separate paths through pipeline • meet in fragment processing - where textures are applied • texture mapping applied at end of pipeline - efficient since relatively few polygons get past clipper uv Mapping Tschmits Wikimedia Commons • 2D texture is parameterized by (u,v) • Assign polygon vertices texture coordinates • Interpolate within polygon Texture Calibration Cylindrical mapping (x,y,z) -> (theta, h) -> (u,v) [Rosalee Wolfe] Spherical Mapping (x,y,z) -> (latitude,longitude) -> (u,v) [Rosalee Wolfe] Box Mapping [Rosalee Wolfe] Parametric Surfaces 32 parametric patches 3D solid textures [Dong et al., 2008] al., et [Dong can map object (x,y,z) directly to texture (u,v,w) Procedural textures Rosalee Wolfe e.g., Perlin noise Triangles Texturing triangles • Store (u,v) at each vertex • interpolate inside triangles using barycentric coordinates Texture Space Object Space v 1, 1 (u,v) = (0.2, 0.8)
    [Show full text]
  • What You Seam Is What You Get: Automatic and Interactive UV Unwrapping
    Online Submission ID: 0270 What you seam is what you get: automatic and interactive UV unwrapping Figure 1: Left: from a meshed model, our system automatically proposes an initial set of seams (black lines) and a valid texture mapping that the user starts with. Right: the user can interactively improve the mapping, by sewing charts and constraining seams (blue lines). As shown in the video, each user interaction is systematically echoed with instant visual feedback. Abstract • (2) Parameterization: each chart in 3-space is put into one to one 2 correspondence with a subset of R ; 3D paint systems opened the door to new texturing tools, directly operating on 3D objects. However, although time and effort was • (3) Packing: the charts are arranged in texture space to minimize devoted to mesh parameterization, UV unwrapping is still known storage requirements. to be a tedious and time-consuming process in Computer Graphics Time and effort was devoted to the problem of mesh parameteriza- production. We think that this is mainly due to the lack of well- tion (see e.g. SIGGRAPH course notes [Hormann et al. 2007] for adapted segmentation method. To make UV unwrapping easier, we an overview). Such mesh parameterization techniques are now well propose a new system, based on three components : • A novel spectral segmentation method that proposes reasonable known and broadly used in the Computer Graphics industry. Re- initial seams to the user; cently, formalizing the relations between deformations and curva- ture lead to both efficient and provably correct methods [Ben-Chen • Several tools to edit and constrain the seams.
    [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]
  • 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]
  • 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]