BUMP-MAPPING SET09115 Intro to Graphics Programming.

Slides:



Advertisements
Similar presentations
1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 9 Adding Realism Through Texture.
Advertisements

16.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 16 – Some Special Rendering Effects.
9.1si31_2001 SI31 Advanced Computer Graphics AGR Lecture 9 Adding Realism Through Texture.
POST-PROCESSING SET09115 Intro Graphics Programming.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Exploration of bump, parallax, relief and displacement mapping
Bump Mapping CSE 781 Roger Crawfis.
Texture Mapping. Texturing  process that modifies the appearance of each point on a surface using an image or function  any aspect of appearance can.
Texture Visual detail without geometry. Texture Mapping desire for heightened realism.
Week 7 - Wednesday.  What did we talk about last time?  Transparency  Gamma correction  Started texturing.
 Engineering Graphics & Introductory Design 3D Graphics and Rendering REU Modeling Course – June 13 th 2014.
1Notes  Assignment 1 is out, due October 12  Inverse Kinematics  Evaluating Catmull-Rom splines for motion curves  Wednesday: may be late (will get.
(conventional Cartesian reference system)
Illumination Behaviour of light. Shading Overview Classical real-time shading: – vertices projected to screen – lighting calculation done at each vertex.
Basic Rendering Techniques V Recognizing basic rendering techniques.
Week 14 - Wednesday.  What did we talk about last time?  Collision handling  Collision detection  Collision determination  Collision response  BSPs.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Guilford County Sci Vis V204.01
SET09115 Intro Graphics Programming
Computer Graphics An Introduction. Computer Graphics 26/9/2008Lecture 12 What’s this course all about? We will cover… Graphics programming and algorithms.
UFCEKT-20-33D Modelling and Animation 3D Modelling & Animation Materials and Textures Maps.
Computer Graphics Inf4/MSc Computer Graphics Lecture 7 Texture Mapping, Bump-mapping, Transparency.
University of Illinois at Chicago Electronic Visualization Laboratory (EVL) CS 426 Intro to 3D Computer Graphics © 2003, 2004, 2005 Jason Leigh Electronic.
Modelling and Simulation Types of Texture Mapping.
Grafis 3D. What is 3D?  3D Image x, y, z Tell a story, more information  2D Image x, y Communicate something simple (ie. cheat)
Computer Visualization BIM Curriculum 03. Topics  History  Computer Visualization Methods  Visualization Workflow  Technology Background.
Introducing To 3D Modeling George Atanasov Telerik Corporation
I-1 Steps of Image Generation –Create a model of the objects –Create a model for the illumination of the objects –Create an image (render) the result I.
3D COMPUTER GRAPHICS IMD Chapter 1: 3D Computer Graphics Chapter 1: 1 Lecturer: Norhayati Mohd Amin.
Shading. What is Shading? Assigning of a color to a pixel in the final image. So, everything in shading is about how to select and combine colors to get.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
Week 10 - Wednesday.  What did we talk about last time?  Shadow volumes and shadow mapping  Ambient occlusion.
CS-378: Game Technology Lecture #4: Texture and Other Maps Prof. Okan Arikan University of Texas, Austin V Lecture #4: Texture and Other Maps.
Business and Computing Deanery 3D Modelling Tools Week 18 More on materials.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
GRAPHICS PIPELINE & SHADERS SET09115 Intro to Graphics Programming.
Programming 3D Applications CE Displaying Computer Graphics Week 3 Lecture 5 Bob Hobbs Faculty of Computing, Engineering and Technology Staffordshire.
Game Programming 06 The Rendering Engine
4.1. R ENDERING Aspects of Game Rendering. From Wikipedia: Rendering is the process of generating an image from a model. The model is a description.
Shader Study 이동현. Vision engine   Games Helldorado The Show Warlord.
Maya 8 at a Glance Chapter 4: Creating Textures. Shaders 2 Lambert: No highlights Phong: Distinct specular highlights Phong E: Greater controls for softer.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
UV Mapping After a 3D object has been modeled it must be prepared for texturing. 3D surfaces can be “unwrapped” into a 2D representation with. This process.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Graphic Rendering Tasks 1. If Clipping was not in the Pipeline If the clipping step was not in the graphics pipeline then all objects or part of objects.
Local Illumination and Shading
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
Of Bump Mapping Presented in Real Time by: Kenny Moser Course: ECE8990 Real Time Rendering Presented in Real Time by: Kenny Moser Course: ECE8990 Real.
06/11/04 SRB ILP Presentation P.Moffitt RT Character Rigging Presented By: Kyle Simmons.
Module 05 –Bump mapping Module 05 – Bump mapping Module 05 Advanced mapping techniques: Bump mapping.
1© 2009 Autodesk Hardware Shade – Presenting Your Designs Hardware and Software Shading HW Shade Workflow Tessellation Quality Settings Lighting Settings.
1 Real-Time High-Quality View-dependent Texture Mapping using Per-Pixel Visibility Damien Porquet Jean-Michel Dischler Djamchid Ghazanfarpour MSI Laboratory,
Week 14 - Wednesday CS361.
Character Design for Animation and Games
Week 7 - Wednesday CS361.
Aspects of Game Rendering
Slide Show Breakdown Introductions (DONE!) Modding the World
Bump Mapping -1 Three scales of detail on an object
The Graphics Rendering Pipeline
Five Minute Madness: 30 Years in 30 Minutes
Selective material rendering
Computer Graphics Module Overview
CS-378: Game Technology Lecture #4: Texture and Other Maps
Computer Graphics Introduction to Shaders
Computer Graphics Material Colours and Lighting
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Presentation transcript:

BUMP-MAPPING SET09115 Intro to Graphics Programming

Breakdown  Background  Review – texturing and lighting  Adding detail  Bump and Normal Mapping  Examples  Shaders  Advanced Techniques  Parallax mapping  Tessellation

Recommended Reading  Real-Time Rendering  Chapter 6, section 6.7 onwards  For tessellation, see 13.6

Background

Review - Lighting  Lighting is the technique we use to provide depth to our renders  Three basic lighting types  Ambient Background light  Diffuse Directional light  Specular Shininess

Review - Textures  Textures are just a 2D grid of pixels we can use for other purposes  For examples, alpha-mapping  We can use texture data in our shaders to perform more elaborate effects  Using texture data is one of the commonest techniques for adding more detail to a 3D model

Problem – Adding Detail  We want detail  The more detail the better  How do we get high detail renders in our game so we can see creases in fingers, notches in swords, etc?

Solution – Add Geometry  Easy solution – add more triangles  Artist’s solution  More triangles means more geometry means higher quality  So job done, right?

Problem – Processing Geometry  Problem is processing high poly count models  Typically try and keep characters down to 25,000  High number of triangles means it takes longer to render  Fine for non-real-time applications  Games we need better techniques  So how do we add detail, without adding geometry?

Cheating with Lighting  Effectively, we have already been doing this  Lighting cheats  Phong shading is an example  We need techniques which allow us to manipulate the light to make it look like there is detail

Options  Bump Mapping  Normal Mapping  Relief Mapping  Parallax Mapping

Questions?

Bump and Normal Mapping

Bump Mapping  Bump mapping is the technique used to add detail to a surface  Think roughness / texture  Bump mapping is the simplest technique for adding detail using textures

Bump Map  A bump map is just a black and white image that is used to modify the surface a model to provide a rough look  Detail is very fine, surface level  Think cloth texture

Video Example 

Procedural Bump Mapping Frag Shader vec3 litColour; vec2 c = BumpDensity * TexCoord.st; vec2 p = fract(c) – vec2(0.5); float d, f; d = dot(p, p); f = inversesqrt(d + 1.0); if (d >= BumpSize) { p = vec2(0, 0); f = 1.0; } vec3 normDelta = vec3(p.x, p.y, 1.0) * f; litColour = SurfaceColour.rgb * max(dot(normDelta, LightDir), 0.0); vec3 reflectDir = reflect(LightDir, normDelta); // Use reflectDir as relection normal

Normal Mapping  Normal mapping extends on the bump mapping technique to create a more shaped detail  Think brick work rather than low level surface

Normal Maps  Normal maps use RGB as their texture colours  Depending on the colour, the lighting model determines the normal of the model at that particular point of the texture

Video Example 

Normal Mapping Shader  Normal mapping shader works similarly to the bump mapping shader  Typically, we add specularity as well  Main difference is that our normals are more than two values, allowing a more realistic lighting effect

Questions?

Advanced Techniques

Relief Mapping  Relief mapping is where we add detail using a texture, but actually manipulate the geometry to create the detail  Actually, we talked a bit about relief mapping for terrain generation last week  We are manipulating a 3D plane into our 3D terrain  Relief mapping is useful, but more expensive

Relief Map Example 

Parallax Mapping  AKA virtual displacement mapping  Uses the viewer position to retrieve different pixels from the texture based on the height field

Video Example 

Displacement Mapping  Essentially relief mapping  Proper relief mapping has the ability for self- occlusion and self- shadowing  Technique requires geometry to be added to a model  Tessellation

Tessellation  The big new addition to DirectX 11  Triangles are added or removed based on how close the viewer is  Think like mip-mapping, but for models  Not like normal LOD where different models are used

Video Example 

Questions?

To do this week…  Practical this week is on texturing  I need to tweak the one on WebCT a little  I know 3 rd years have MAD CW due this week  Get it out of the way so you can move onto this one  I won’t be producing a practical on bump mapping  If interested, investigate yourself

Summary  Adding details to a render is where current game technology is focused  Model complexity can’t go much further on current generation hardware  Various techniques allow us to modify a render to provide detail  Bump mapping, normal mapping, etc.  There is a cost, but usually less than adding geometry