Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.

Slides:



Advertisements
Similar presentations
Exploration of advanced lighting and shading techniques
Advertisements

Ray Tracing Depth Maps Using Precomputed Edge Tables Kevin Egan Rhythm & Hues Studios.
Normal Map Compression with ATI 3Dc™ Jonathan Zarge ATI Research Inc.
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.
Graphics Pipeline.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
3D Graphics Rendering and Terrain Modeling
Preserving Realism in real-time Rendering of Bidirectional Texture Functions Jan Meseth, Gero Müller, Reinhard Klein Bonn University Computer Graphics.
Mesostructure Rendering Techniques
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 21: Image-Based Rendering Ravi Ramamoorthi
(conventional Cartesian reference system)
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Hardware-Assisted Visibility Sorting for Tetrahedral Volume Rendering Steven Callahan Milan Ikits João Comba Cláudio Silva Steven Callahan Milan Ikits.
The Story So Far The algorithms presented so far exploit: –Sparse sets of images (some data may not be available) –User help with correspondences (time.
Week 8 - Monday.  What did we talk about last time?  Workday  Before that:  Image texturing ▪ Magnification ▪ Minification  Mipmapping  Summed area.
Computer Graphics Inf4/MSc Computer Graphics Lecture 7 Texture Mapping, Bump-mapping, Transparency.
Computer Graphics Panos Trahanias ΗΥ358 Spring 2009.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Definitions Spectral Elements – data structures that contain information about data at points within each geometric entity. Finite elements only hold information.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
CS 551/651 Advanced Computer Graphics Warping and Morphing Spring 2002.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Geometry Textures Rodrigo de Toledo, ( PhD candidate at LORIA-INRIA) (Researcher at Tecgraf, PUC-Rio) Bin Wang and Bruno Levy.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
Texture Mapping Applications 2. Parallax Mapping with Slope  parallax mapping assumes that the surface is a single plane  a better approximation  surface.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.
Computer Graphics and Multimedia Systems, University of Siegen, Germany 1 GPU-Based Responsive Grass Jens Orthmann, Christof Rezk-Salama, Andreas Kolb.
Image-based Rendering. © 2002 James K. Hahn2 Image-based Rendering Usually based on 2-D imagesUsually based on 2-D images Pre-calculationPre-calculation.
03/24/03© 2003 University of Wisconsin Last Time Image Based Rendering from Sparse Data.
Interactive Visualization of Exceptionally Complex Industrial CAD Datasets Andreas Dietrich Ingo Wald Philipp Slusallek Computer Graphics Group Saarland.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
CHAPTER 8 Color and Texture Mapping © 2008 Cengage Learning EMEA.
Accelerated Stereoscopic Rendering using GPU François de Sorbier - Université Paris-Est France February 2008 WSCG'2008.
CS559: Computer Graphics Lecture 8: Warping, Morphing, 3D Transformation Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Graphics Interface 2009 The-Kiet Lu Kok-Lim Low Jianmin Zheng 1.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Yizhou Yu Texture-Mapping Real Scenes from Photographs Yizhou Yu Computer Science Division University of California at Berkeley Yizhou Yu Computer Science.
Discontinuous Displacement Mapping for Volume Graphics, Volume Graphics 2006, July 30, Boston, MA Discontinuous Displacement Mapping for Volume Graphics.
CSCE 641 Computer Graphics: Image-based Rendering (cont.) Jinxiang Chai.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Caustics Triangles on the GPU Umenhoffer Tamás Gustavo Patow Szirmay-Kalos László.
RENDERING : Global Illumination
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.
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Presented by 翁丞世  View Interpolation  Layered Depth Images  Light Fields and Lumigraphs  Environment Mattes  Video-Based.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
1 Real-Time High-Quality View-dependent Texture Mapping using Per-Pixel Visibility Damien Porquet Jean-Michel Dischler Djamchid Ghazanfarpour MSI Laboratory,
Ying Zhu Georgia State University
Graphics Processing Unit
3D Graphics Rendering PPT By Ricardo Veguilla.
Ravish Mehra Subodh Kumar IIT Delhi IIT Delhi
Bump Mapping -1 Three scales of detail on an object
The Graphics Rendering Pipeline
(c) 2002 University of Wisconsin
Chapter IX Bump Mapping
Introduction to Computer Graphics with WebGL
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Introduction to Computer Graphics
Presentation transcript:

Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba

Overview Introduction Introduction Related Work Related Work Review of Relief Texture Mapping Review of Relief Texture Mapping Methods Methods Results Results Discussion Discussion

Introduction Represent surface detail using textures Represent surface detail using textures Apply to polygonal surfaces, allowing for deformation Apply to polygonal surfaces, allowing for deformation Allow self-occlusions and per-pixel lighting effects Allow self-occlusions and per-pixel lighting effects Introduction > Related Work > Relief Texture Mapping > Methods > Results Goals

Related Work Bump mapping Bump mapping Self-occlusions, shadows and silhouettes are not accounted for Self-occlusions, shadows and silhouettes are not accounted for Displacement mapping Displacement mapping Requires large amount of micro-polygons Requires large amount of micro-polygons Introduction > Related Work > Relief Texture Mapping > Methods > Results

Related Work View-dependent displacement maps View-dependent displacement maps Pre-computes distances to a reference surface Pre-computes distances to a reference surface Sampled along several view directions Sampled along several view directions Does not handle close up viewing well Does not handle close up viewing well Parallax Mapping Parallax Mapping Uses per-texel depth Texture coordinates along view direction are shifted based on depth Only good for irregular/noisy bumps No support for shadows Introduction > Related Work > Relief Texture Mapping > Methods > Results

Relief Texture Mapping Uses image warping techniques and per-texel depth to create the illusion of geometric detail Uses image warping techniques and per-texel depth to create the illusion of geometric detail Introduction > Related Work > Relief Texture Mapping > Methods > Results

Relief Texture Mapping Rendering of a height field requires a search for the closest polygon along the viewing ray Rendering of a height field requires a search for the closest polygon along the viewing ray Overcome through a two-pass method: Overcome through a two-pass method: Convert height field to conventional 2D texture using forward projection Convert height field to conventional 2D texture using forward projection Render texture as normal Render texture as normal Introduction > Related Work > Relief Texture Mapping > Methods > Results

Representing 3D objects Represent 3D geometry by relief texture mapping parallelepiped Represent 3D geometry by relief texture mapping parallelepiped Cannot be extended to arbitrary surfaces Cannot be extended to arbitrary surfaces Introduction > Related Work > Relief Texture Mapping > Methods > Results

Relief Mapping Polygonal Surfaces Uses modern graphics hardware Uses modern graphics hardware Because of fragment shaders, lighting is computed real-time Because of fragment shaders, lighting is computed real-time Introduction > Related Work > Relief Texture Mapping > Methods > Results

Mapping relief data Compute viewing direction, VD Compute viewing direction, VD Transform VD to tangent space of fragment Transform VD to tangent space of fragment Use VD’ and texture coords (s,t) to compute the texture coords where VD’ hits depth of 1 Use VD’ and texture coords (s,t) to compute the texture coords where VD’ hits depth of 1 Introduction > Related Work > Relief Texture Mapping > Methods > Results

Mapping relief data Compute the intersection between VD’ and the height- field surface using a binary search starting with A and B Compute the intersection between VD’ and the height- field surface using a binary search starting with A and B Perform the shading of the fragment using the attributes associated with the texture coordinates of the computed intersection point. Perform the shading of the fragment using the attributes associated with the texture coordinates of the computed intersection point. Introduction > Related Work > Relief Texture Mapping > Methods > Results

Binary Search Start with A-B line Start with A-B line At each step (8 steps): At each step (8 steps): Compute middle of the interval Compute middle of the interval Assign averaged endpoint texture coordinates and depth Assign averaged endpoint texture coordinates and depth Use averaged tex coords to access depth map Use averaged tex coords to access depth map If stored depth value is less than computed depth value, the point is inside the surface If stored depth value is less than computed depth value, the point is inside the surface Proceed with one endpoint in and one out Proceed with one endpoint in and one out Introduction > Related Work > Relief Texture Mapping > Methods > Results

Linear Search To find first point under surface, start at A, advance ray by δAB To find first point under surface, start at A, advance ray by δAB δ is a function of the angle between VD’ and interpolated fragment normal δ is a function of the angle between VD’ and interpolated fragment normal No more than 32 steps are taken in their implementation No more than 32 steps are taken in their implementation Proceed with binary search (with less iterations) Proceed with binary search (with less iterations) Introduction > Related Work > Relief Texture Mapping > Methods > Results

Shadowing Visibility problem Visibility problem Determine if light ray intersects surface Determine if light ray intersects surface Do not need to know the exact point Do not need to know the exact point Introduction > Related Work > Relief Texture Mapping > Methods > Results

Dual Depth Relief Textures Represent opaque, closed surfaces with only one texture Represent opaque, closed surfaces with only one texture Second “back” layer is not used for rendering, but as a constraint for ray- height-field intersection Second “back” layer is not used for rendering, but as a constraint for ray- height-field intersection Introduction > Related Work > Relief Texture Mapping > Methods > Results

Dual Depth Relief Textures Introduction > Related Work > Relief Texture Mapping > Methods > Results Results

Dual Depth Relief Textures Introduction > Related Work > Relief Texture Mapping > Methods > Results Storage Two depthmaps and a normal map can be stored in one texture Two depthmaps and a normal map can be stored in one texture Since normals are unit length, you can store just x and y and use the other two components for depth values Since normals are unit length, you can store just x and y and use the other two components for depth values Compute run-time Compute run-time Rendering is the same as described, except a point is in the represented object if front_depth <= point depth <= back_depth Rendering is the same as described, except a point is in the represented object if front_depth <= point depth <= back_depth

Results Introduction > Related Work > Relief Texture Mapping > Methods > Results Most objects rendered with 512x512 relief texture Most objects rendered with 512x512 relief texture 800x600 resolution at 85 fps 800x600 resolution at 85 fps Written in Cg Written in Cg 3GHz PC w/ 512 MB memory on NVIDIA GeForce 6800GT w/ 256 MB memory 3GHz PC w/ 512 MB memory on NVIDIA GeForce 6800GT w/ 256 MB memory

Results Introduction > Related Work > Relief Texture Mapping > Methods > Results

Results

Results

Results

Results

Results

Conclusion Provided method for mapping relief textures to arbitrary surfaces in texture space, allowing deformation Provided method for mapping relief textures to arbitrary surfaces in texture space, allowing deformation Provides correct shadowing, self-occlusion, and interpenetration with correct lighting Provides correct shadowing, self-occlusion, and interpenetration with correct lighting Presented an efficient ray-heightfield intersection algorithm Presented an efficient ray-heightfield intersection algorithm Extended relief maps with dual-depth textures Extended relief maps with dual-depth textures