CS451 Texturing 4. Bump mapping continued. Jyh-Ming Lien Department of Computer SCience George Mason University. From Martin Mittring,

Similar documents
frame buffer depth buffer stencil buffer

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE

Texture Mapping. Michael Kazhdan ( /467) HB Ch. 14.8,14.9 FvDFH Ch. 16.3, , 16.6

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

CS451Real-time Rendering Pipeline

Parallax Bumpmapping. Whitepaper

More Texture Mapping. Texture Mapping 1/46

Texturing. Texture Mapping. Texture Mapping. Have seen: colour can be assigned to ver7ces But: don t want to represent all this detail with geometry

Those Delicious Texels or Dynamic Image-Space Per-Pixel

Interactive Cloth Simulation. Matthias Wloka NVIDIA Corporation

Computergrafik. Matthias Zwicker. Herbst 2010

COMP 175: Computer Graphics April 11, 2018

All the Polygons You Can Eat. Doug Rogers Developer Relations

Real-Time Non- Photorealistic Rendering

Surface Rendering. Surface Rendering

Advanced Shading and Texturing

CS 432 Interactive Computer Graphics

CS 4620 Midterm 1. Tuesday 22 October minutes

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University

Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Texture-Mapping Tricks. How Bad Does it Look? We've Seen this Sort of Thing Before. Sampling Texture Maps

Lesson 1: Why Move Things Around?

Zeyang Li Carnegie Mellon University

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking

CS 4620 Midterm, March 21, 2017

An Efficient Representation for Surface Details

Intro to Ray-Tracing & Ray-Surface Acceleration

Abstract. 2 Description of the Effects Used. 1 Introduction Phong Illumination Bump Mapping

Shading/Texturing. Dr. Scott Schaefer

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Direct Rendering of Trimmed NURBS Surfaces

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Programming Graphics Hardware. GPU Applications. Randy Fernando, Cyril Zeller

CSM Scrolling. An acceleration technique for the rendering of cascaded shadow maps

Crack-Free Tessellation Displacement

INF3320 Computer Graphics and Discrete Geometry

Parallax Occlusion in Direct3D 11

Soft Shadow Volumes for Ray Tracing Samuli Laine, Timo Aila, Ulf Assarsson, Jaakko Lethinen, Tomas Akenine-Möller presented by Manuel Lang

Practical Parallax Occlusion Mapping For Highly Detailed Surface Rendering

Computer Graphics 10 - Shadows

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017

Interval Mapping. Abstract. Introduction. Eric Risser University of Central Florida. Musawir Shah University of Central Florida

Normal Maps and Cube Maps. What are they and what do they mean?

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Visit MathNation.com or search "Math Nation" in your phone or tablet's app store to watch the videos that go along with this workbook!

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017

CMSC427 Final Practice v2 Fall 2017

Per-Pixel Displacement Mapping with Distance Functions

Bump Mapping Which one of these two image has a better visual effect?

Displacement Mapping

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

Eureka Math. Geometry, Module 4. Student File_B. Contains Exit Ticket, and Assessment Materials

CPSC / Texture Mapping

AGDC Per-Pixel Shading. Sim Dietrich

Computer Graphics Ray Casting. Matthias Teschner

Surface Detail Maps with Soft Self- Shadowing. Chris Green, VALVE

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

CSM Scrolling: An acceleration technique for the rendering of cascaded shadow maps

Eureka Math. Grade 7, Module 6. Student File_A. Contains copy-ready classwork and homework

If the center of the sphere is the origin the the equation is. x y z 2ux 2vy 2wz d 0 -(2)

Texturing. Slides done bytomas Akenine-Möller and Ulf Assarsson Department of Computer Engineering Chalmers University of Technology

Perspective Projection and Texture Mapping

TSBK03 Screen-Space Ambient Occlusion

Mia Round Corners Node

Com S 336 Final Project Ideas

Announcements. Written Assignment 2 is out see the web page. Computer Graphics

CS 563 Advanced Topics in Computer Graphics Stereoscopy. by Sam Song

Hardware Accelerated Per-Pixel Displacement Mapping

Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018

Texture Mapping 1/34

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Rasterization Overview

Computer Graphics. - Texturing Methods -

Performance Analysis and Culling Algorithms

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

GPU-Accelerated Deep Shadow Maps

Honours Project Multi-Material Procedural Terrain Texturing. Author: Eric Billingsley Supervisor: Dr. David Mould, School of Computer Science

Shadows. COMP 575/770 Spring 2013

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

Advanced Lighting Techniques Due: Monday November 2 at 10pm

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

CS 431/636 Advanced Rendering Techniques

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009

Flowmap Generator Reference

Ray Cast Geometry. RayCast Node for Motion, Displacements and Instancing. New to The Ray Cast Geometry node has received an upgrade for 2018.

Shadows in Computer Graphics

Attention to Detail! Creating Next Generation Content For Radeon X1800 and beyond

CS 130 Final. Fall 2015

Physics Experiment 13

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

LOD and Occlusion Christian Miller CS Fall 2011

Transcription:

CS451 Texturing 4 Bump mapping continued 1 Jyh-Ming Lien Department of Computer SCience George Mason University From Martin Mittring,

2 Spaces where your Normal map lives World space normal map Each normal direction stored in texel is a world space vector Usually applied to object using cube mapping Rarely used for things that move Object space normal map Each normal direction stored in texel is a vector in the space of the model Each vertex must have unique (u,v) coordinates Tangent space normal map Allow reuse of a normal map texture across multiple parts of the model

3 Object-Space Normal Mapping 3d vector encoded Simpler to implment Reuse limited to translation Scaling Rotation

Tangent Space Normal, tangent, Bi-tangent Tomas Akenine-Mől ler 2002

5 Tangent Space Per Triangle Normal Bitangent Tangent

6 How is Tangent Space Computed? Normal : perpendicular to the plane Tangent and bitangent are parallel to the plane Tangent and bitangent are perpendicular to the normal There are many possible tangents and bitangents Their direction is determined by the UV coordinates one points in the direction of U-axis in 3d space the other in the direction of the V-axis tangent space normal map stores the length of each vector

7 How is Tangent Space Computed? N p 1 Goal: PP PP 0 = uu uu 0 TT + vv vv 0 BB B p p 0 p 2 T (u 2, v 2 ) Note: ss 1 tt 1 ss 2 tt 2 1 = 1 tt 2 tt 1 ss 1 tt 2 ss 2 tt 1 ss 2 ss 1 V (u 0, v 0 ) (u 1, v 1 ) U

8 Per Vertex Normal How do you compute per vertex normal? Is the normal affected by tessellation?

9 Per Vertex Tangent Space tangent space TT 1 BB 1 NN 1 TT 2 BB 2 NN 2 TT 3 BB 3 NN 3 How do you convert a light source to tangent space?

10 Advantages of Tangent Space Efficient Support for mirroring Tiling textures Higher image compression rate object space Tangent space

11 Comparison The spaces defined by each vertex object space Tangent space

12 Comparison Object space Tangent space

What's Missing? There are no bumps on the silhouette of a bump-mapped object Bump maps don t allow self-occlusion or self-shadowing

14 Parallax Mapping A.k.a. Offset mapping, visual displacement mapping Using height field instead of normal map Example: What is the elevation and color for the green ray below

15 Parallax Mapping Vector from eye to p vv = (vv xx, vv yy, vv zz ) Eye Solve pp aaaaaa pp aaaaaa pp h Then the color of this ray is computed using color, normal de fined at pp aaaaaa instead of those at p

16 Parallax Mapping Parallax provides much better visualization of occlusion

17 Parallax Offset Limiting Parallax fails if the neighboring heights are very different Solution: limit the amount of offset pp aaaaaa = pp + h vv xxxx h h

18 Relief Mapping Relief mapping (a.k.a. Steep parallax mapping or parallax occlusion mapping) Compute the first intersection between the ray and the height field via Sampling Still an approximation

19 Relief Mapping Sample along the viewing ray Goal: compute this point First sample lower than the height map

20 Comparison Image by Morgan McGuire and Max McGuire

21 Great visual effect Not so much if the silhouette is revealed

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 by Matt Pharr and Pat Hanrahan. note the detailed shadows cast by the stones

Displacement Mapping By Ken Musgrave

25 Summary Bump mapping (using normal map, or height field) Pro: Provide the illusion of local wrinkles Con: No self-occlusion Parallax mapping Pro: Provide self-occlusion Con: The elevation cannot vary too much Relief mapping Pro: Works with varying heights, can even provides shadow Con: Bad visual effect on the silhouette Displacement mapping Pro: bumps on silhouette Con: Consume much more resources (CPU, GPU, memory)