1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.

Slides:



Advertisements
Similar presentations
Signal-Specialized Parametrization Microsoft Research 1 Harvard University 2 Microsoft Research 1 Harvard University 2 Steven J. Gortler 2 Hugues Hoppe.
Advertisements

Accelerating Real-Time Shading with Reverse Reprojection Caching Diego Nehab 1 Pedro V. Sander 2 Jason Lawrence 3 Natalya Tatarchuk 4 John R. Isidoro 4.
Hongzhi Wu 1,2, Li-Yi Wei 1, Xi Wang 1, and Baining Guo 1 Microsoft Research Asia 1 Fudan University 2 Silhouette Texture.
Exploration of bump, parallax, relief and displacement mapping
Optimized Stencil Shadow Volumes
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Ray Tracing CMSC 635. Basic idea How many intersections?  Pixels  ~10 3 to ~10 7  Rays per Pixel  1 to ~10  Primitives  ~10 to ~10 7  Every ray.
Chunhui Yao 1 Bin Wang 1 Bin Chan 2 Junhai Yong 1 Jean-Claude Paul 3,1 1 Tsinghua University, China 2 The University of Hong Kong, China 3 INRIA, France.
Ted Adelson’s checkerboard illusion. Motion illusion, rotating snakes.
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Week 7 - Wednesday.  What did we talk about last time?  Transparency  Gamma correction  Started texturing.
Developer’s Survey of Polygonal Simplification Algorithms Based on David Luebke’s IEEE CG&A survey paper.
Shadow and Shadow Maps [5]. Object without shadow seem floating above the scene Shadow gives the depth information Shadow gives the information of the.
I3D Fast Non-Linear Projections using Graphics Hardware Jean-Dominique Gascuel, Nicolas Holzschuch, Gabriel Fournier, Bernard Péroche I3D 2008.
Efficient Sparse Voxel Octrees
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Order-Independent Texture Synthesis Li-Yi Wei Marc Levoy Gcafe 1/30/2003.
Status – Week 231 Victor Moya. Summary Primitive Assembly Primitive Assembly Clipping triangle rejection. Clipping triangle rejection. Rasterization.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Implicit Representations of Surfaces and Polygonalization Algorithms Dr. Scott Schaefer.
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.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Hidden Surface Removal
Computer Graphics Inf4/MSc Computer Graphics Lecture 9 Antialiasing, Texture Mapping.
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.
11/11/04© University of Wisconsin, CS559 Fall 2004 Last Time Shading Interpolation Texture mapping –Barycentric coordinates for triangles.
Texture Mapping. Scope Buffers Buffers Various of graphics image Various of graphics image Texture mapping Texture mapping.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
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.
Mapping method Texture Mapping Environmental mapping (sphere mapping) (cube mapping)
COMP 261 Lecture 16 3D Rendering. input: set of polygons viewing direction direction of light source(s) size of window. output: an image Actions rotate.
Seeram Chapter 7: Image Reconstruction
Texture Mapping Applications 2. Parallax Mapping with Slope  parallax mapping assumes that the surface is a single plane  a better approximation  surface.
Week 6 - Wednesday.  What did we talk about last time?  Light  Material  Sensors.
03/24/03© 2003 University of Wisconsin Last Time Image Based Rendering from Sparse Data.
Visualization of Industrial Structures with Implicit GPU Primitives Rodrigo de Toledo Bruno Levy.
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
Efficient Streaming of 3D Scenes with Complex Geometry and Complex Lighting Romain Pacanowski and M. Raynaud X. Granier P. Reuter C. Schlick P. Poulin.
Hardware-accelerated Point-based Rendering of Surfaces and Volumes Eduardo Tejada, Tobias Schafhitzel, Thomas Ertl Universität Stuttgart, Germany.
M. Jędrzejewski, K.Marasek, Warsaw ICCVG, Multimedia Chair Computation of room acoustics using programable video hardware Marcin Jędrzejewski.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Based on paper by: Rahul Khardekar, Sara McMains Mechanical Engineering University of California, Berkeley ASME 2006 International Design Engineering Technical.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Lecture 6 Rasterisation, Antialiasing, Texture Mapping,
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.
Discontinuous Displacement Mapping for Volume Graphics, Volume Graphics 2006, July 30, Boston, MA Discontinuous Displacement Mapping for Volume Graphics.
Compact, Fast and Robust Grids for Ray Tracing
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Image-Based Rendering Geometry and light interaction may be difficult and expensive to model –Think of how hard radiosity is –Imagine the complexity of.
2 3D Viewing Process  3D viewing process MC Model Space Model Transformation Model Transformation WC World Space Viewing Transformation Viewing Transformation.
David Luebke 3/17/2016 Advanced Computer Graphics Antialiasing David Luebke
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
Presented by 翁丞世  View Interpolation  Layered Depth Images  Light Fields and Lumigraphs  Environment Mattes  Video-Based.
Real-Time Soft Shadows with Adaptive Light Source Sampling
Texture Mapping cgvr.korea.ac.kr.
Ravish Mehra Subodh Kumar IIT Delhi IIT Delhi
Controlled Topology Simplification (Voxel Based Object Simplification)
Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Presentation transcript:

1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA

2 Height-field representation What can we represent? What can we represent? How to render it? How to render it? Fast ? Fast ? Exact? Exact? Previous work Previous work Our contributions Our contributions

3 Height-field Function from [0,1] 2 to [0,1] Represents a surface Sampled in a texture Memory/GPU efficient (a) Height texture (b) Reconstructed surface

4 Height-field Function from [0,1] 2 to [0,1] Represents a surface Sampled in a texture Memory/GPU efficient  Theory: How do you reconstruct?  Practice: Which interpolation for texture lookups? Refer to the paper for details (a) nearest (b) linear

5 How to render? Polygonalize Polygonalize Simple & natural Simple & natural Costly, not output sensitive Costly, not output sensitive Aliasing -> LOD Aliasing -> LOD Small coverage Large coverage What if the object is not the “main” one?  Bump  Small objects

6 How to render? Polygonalize Polygonalize Simple & natural Simple & natural Costly, not output sensitive Costly, not output sensitive Aliasing -> LOD Aliasing -> LOD Ray-tracing Ray-tracing Slow? Feasible on GPU! Slow? Feasible on GPU! Output sensitive Output sensitive

7 Ray-tracing Existing solution : VDM [Wang 2003] Existing solution : VDM [Wang 2003] Sampling in all viewing directions Sampling in all viewing directions Memory costly (4 Mb compressed for 128x128) Memory costly (4 Mb compressed for 128x128) Use GPU capabilities instead Use GPU capabilities instead

8 Principle (1/2) Top view 2D slice

9 Principle (2/2) Comparing heights Comparing heights Along ray Along ray In the heightfield In the heightfield Until we pass below Until we pass below

10 Policarpo [I3D 05] How many iterations? Is it correct? Binary search

11 Policarpo [I3D 05] Missed intersection

12 Policarpo [I3D 05] Fixed size steps Binary search Better but still potentially false

13 Policarpo [I3D 05] Fixed size steps Binary search Amounts to vertical slicing Size of steps along the ray depends on ray tilt Missed intersection

14 Policarpo [I3D 05]

15 Tatarchuk [I3D06] Varying size steps (between two bounds) Depending on ray tilt

16 Conclusion on existing methods Advantages : speed Drawbacks: missed intersections (at grazing angles) Use it for bump Policarpo05Tatarchuk06

17 Being exact, what for? Intellectually rewarding Intellectually rewarding Usability large scale geometry Usability large scale geometry Terrain, buildings, architectural details Terrain, buildings, architectural details Objects (cars, etc.) Objects (cars, etc.) How many polygons ?

18 Being exact, what for? Intellectually rewarding Intellectually rewarding Usability large scale geometry Usability large scale geometry Terrain, buildings, architectural details Terrain, buildings, architectural details Objects (cars, etc.) Objects (cars, etc.) Only 6 quads !

19 Being exact, is it hard? Problem with constant steps Problem with constant steps Can always miss intersections Can always miss intersections

20 Being exact, is it hard? Problem with constant steps Problem with constant steps Can always miss intersections Can always miss intersections Travel slowly above empty space Travel slowly above empty space

21 Being exact, is it hard? Problem with constant steps Problem with constant steps Can always miss intersections Can always miss intersections Travel slowly above empty space Travel slowly above empty space Our contributions Our contributions Amanatides based approach Amanatides based approach Failsafe approach Failsafe approach But requires preprocess But requires preprocess solves

22 Adapted Amanatides traversal We run along the ray on texel edges

23 Adapted Amanatides traversal We run along the ray on texel edges Advantages : very simple iterations exact intersection fragment shader main loop

24 Adapted Amanatides traversal We run along the ray on texel edges Advantages : very simple iterations exact intersection Drawbacks : potentially many iterations texture resolution dependent

25 Adapted Amanatides traversal Texture resolution dependent Texture resolution dependent Double resolution  half speed Double resolution  half speed Ideally should depend on “variations” of heightfield, not sampling frequency Ideally should depend on “variations” of heightfield, not sampling frequency Binary search doesn’t have this drawback Binary search doesn’t have this drawback Constant number of texture lookups Constant number of texture lookups

26 Analysis of binary search At the moment we pass below At the moment we pass below At least one intersection At least one intersection But potentially several But potentially several ? 2D slice

27 Analysis of binary search At the moment we pass below At the moment we pass below At least one intersection At least one intersection But potentially several But potentially several Ideally : at most one intersection Ideally : at most one intersection How can we guarantee this? Precompute safety radius 2D slice ?

28 What is safety radius ? Local information Local information Top view T ? Which step ? For any possible viewing ray passing above T Precomputed radius

29 What is safety radius ? Local information Local information Safety radius Viewing direction considered texel

30 What is safety radius ? Local information Local information In 3D : for each texel : In 3D : for each texel : Scan every direction Scan every direction Keep the minimum radius Keep the minimum radius

31 Failsafe binary search

32 Failsafe binary search

33 Failsafe binary search

34 Failsafe binary search

35 Failsafe binary search

36 Failsafe binary search

37 Failsafe binary search

38 Failsafe binary search

39 Failsafe binary search

40 Failsafe binary search

41 Various details Textures Textures Can have different resolutions Can have different resolutions Normal, color, height Normal, color, height Can be packed/compressed Can be packed/compressed Needs recent fragment shaders supporting dynamic loops Needs recent fragment shaders supporting dynamic loops

42 Results Fast and exact Height-field regularity dependent Correct interaction with Z-buffer Correct interaction with Z-buffer Output sensitive Output sensitive

43 Height-field representation What can we represent? What can we represent? How to render it? How to render it? Fast ? Fast ? Exact? Exact? Previous work Previous work Our contributions Our contributions

44 More than bump Previous methods : small scale bump Previous methods : small scale bump Curved surfaces : warping considerations Curved surfaces : warping considerations VDM [Wang 03] VDM [Wang 03] [Policarpo05] [Policarpo05] We want to do large scale We want to do large scale Problem : limited expressiveness Problem : limited expressiveness orthogonal height-fields orthogonal height-fields

45 Expressiveness of heightfields Lack of samples on vertical sides Lack of samples on vertical sides

46 Projective height-fields

47 Projective height-fields Similar to “cubist images” [Hanson 98] Similar to “cubist images” [Hanson 98] Projective transforms preserve lines Projective transforms preserve lines Unmodified algorithm Unmodified algorithm

48 Projective height-fields Wasted fillrate Wasted fillrate Many eventually discarded fragments Many eventually discarded fragments Easy to solve : clip the bounding box Easy to solve : clip the bounding box (a) not clipped (b) clipped

49 Multiple height-fields

50 Conclusion Remember fast and exact is possible! Efficient representation Small memory footprint Automatic LOD Two useful methods (dynamic/static) Two useful methods (dynamic/static)

51 Future Geometry representable with heightfields Geometry representable with heightfields Because we are exact Because we are exact Model directly with heightfields Model directly with heightfields Photoshop 3D [Mok01] Photoshop 3D [Mok01] Apply to judicious situations Apply to judicious situations

52 Future Thank you! Thank you! Questions? Questions?