Mesostructure Rendering Techniques

Slides:



Advertisements
Similar presentations
Ray Tracing Depth Maps Using Precomputed Edge Tables Kevin Egan Rhythm & Hues Studios.
Advertisements

Parallax-Interpolated Shadow Map Occlusion
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Exploration of bump, parallax, relief and displacement mapping
Graphics Pipeline.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
03/16/2009Dinesh Manocha, COMP770 Texturing Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using.
Cs123 INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © Andries van Dam Texture Mapping Beautification of Surfaces 1/23.
 Engineering Graphics & Introductory Design 3D Graphics and Rendering REU Modeling Course – June 13 th 2014.
Preserving Realism in real-time Rendering of Bidirectional Texture Functions Jan Meseth, Gero Müller, Reinhard Klein Bonn University Computer Graphics.
Real-Time Rendering Paper Presentation Imperfect Shadow Maps for Efficient Computation of Indirect Illumination T. Ritschel T. Grosch M. H. Kim H.-P. Seidel.
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
Computer Graphics (Fall 2005) COMS 4160, Lecture 16: Illumination and Shading 1
Fur and hair are not typically uniform in color but instead are many slightly different shades. We wanted to simulate this using a single texture map.
18.1 Si31_2001 SI31 Advanced Computer Graphics AGR Lecture 18 Image-based Rendering Light Maps What We Did Not Cover Learning More...
Introduction to Volume Rendering Presented by Zvi Devir.
(conventional Cartesian reference system)
Direct Volume Rendering Joe Michael Kniss Scientific Computing and Imaging Institute University of Utah.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Reflectance and Texture of Real-World Surfaces KRISTIN J. DANA Columbia University BRAM VAN GINNEKEN Utrecht University SHREE K. NAYAR Columbia University.
Paper by Alexander Keller
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Use of Silhouette Edges and Ambient Occlusion in Particle Visualization James L. Bigler School of Computing August 16, 2004 Oral defense of.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Computer Graphics Shadows
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
Week 8 - Monday.  What did we talk about last time?  Workday  Before that:  Image texturing ▪ Magnification ▪ Minification  Mipmapping  Summed area.
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
COMP 175: Computer Graphics March 24, 2015
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.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Texture Mapping.
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,
-Global Illumination Techniques
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
CS 376 Introduction to Computer Graphics 04 / 16 / 2007 Instructor: Michael Eckmann.
Game Programming (Mapping) Spring.
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
I N T R O D U C T I O N T O C O M P U T E R G R A P H I C S Andries van Dam October 30, 2003 Shading 1/35 CIS 736 Computer Graphics Lecture 17 of 42 Illumination.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
View-dependent Adaptive Tessellation of Spline Surfaces
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
Discontinuous Displacement Mapping for Volume Graphics, Volume Graphics 2006, July 30, Boston, MA Discontinuous Displacement Mapping for Volume Graphics.
CSCE 441: Computer Graphics Ray Tracing
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
MIT EECS 6.837, Durand and Cutler Texture Mapping & Other Fun Stuff.
CSE 681 Introduction to Ray Tracing. CSE 681 Ray Tracing Shoot a ray through each pixel; Find first object intersected by ray. Image plane Eye Compute.
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.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Texturing CMSC 435/ What is Texturing? 2 Texture Mapping Definition: mapping a function onto a surface; function can be: – 1, 2, or 3D – sampled.
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,
Working Group « Pre-Filtering »
Rendering Pipeline Fall, 2015.
3D Graphics Rendering PPT By Ricardo Veguilla.
Ravish Mehra Subodh Kumar IIT Delhi IIT Delhi
Interactive Computer Graphics
CS5500 Computer Graphics May 29, 2006
Presentation transcript:

Mesostructure Rendering Techniques Presented by Keith Yerex

Mesostructure Mesostructure is used to refer to details that are too large to be modeled by reflectance functions, and too small to be modeled efficiently by polygons Commonly rendered with bump-mapping, horizon mapping, and/or displacement mapping.

Bump-mapping [Blinn 78] Store the normals of the true surface in a texture map, and use these normals in lighting equations. (dot3) Normals can be stored in object space, or tangent space. In either case, the light must be transformed into that coordinate system.

Tangent space Repeating bump/horizon/displacement maps must be represented in tangent space Tangent space is a coordinate system made of the normal N, the tangent T, and the binormal B Where T is in the direction of increasing texture coordinate u and B=NxT

Horizon mapping [Max 88] The horizon angle is precomputed for a discrete number of directions An incoming light angle must be above the horizon in order to illuminate the surface

Displacement Mapping A displacement map specifies displacement in the direction of the surface normal, for each point on a surface from Klautz & Seidel

Displacement Mapping Generally expressed as a function of u,v texture coordinates (or parametric surface parameters) Stored as a 2d texture, and/or computed procedurally

The Problem How can we render a model given as a set of polygons, and a displacement map?

Current solutions Geometric Image Space Subdivide and displace Volume slice rendering Ray tracing Image Space Parallax mapping Relief textures View dependent texturing / BDTF View dependent displacement mapping

Subdivide and Displace [Cook 84] Subdivide each polygon into many tiny polygons, and displace the new vertices along their normals using the displacement map Produces many new vertices and triangles, which all need to be transformed and rendered. Improvements include adaptive subdivision, and hardware implementation.

Volume Slicing [Kautz & Seidel] Generate polygons that slice through the displacement volume Render each slice, but draw only pixels where the displacement map value is greater than height of the slice at that position Slices alignment varies (bump-out shells, orthogonal, screen aligned)

Volume Slicing Alpha test can be used for efficient hardware implementation Still generates a lot of geometry and high overdraw/fill-rate from Klautz & Seidel

Ray tracing [Smits et al] In ray tracing, rays are simply intersected with the displacement map, rather than the polygon Reference Plane Max Displacement

Image Space Methods For a given viewing direction and texture coordinates P find the displacement in texture space l from Wang et al

Parallax mapping Makes the approximation that l=V*H(P)*scale+bias [Kaneko et al] Makes the approximation that l=V*H(P)*scale+bias Where H(P) is the height at the point of incidence. Very efficient, and pretty convincing, but not accurate Movie

Parallax mapping

[Oliveira, Bishop, McAllistor] Relief Textures [Oliveira, Bishop, McAllistor] Instead of inverse mapping, use a forward mapping (from texture to image) Warping is implemented efficiently by a 1d pre-warp, followed by standard texture mapping.

View Dependent Texturing [Debevec] Store textures from all possible views, and then just pick the best one from a list when rendering a new view (or blend the best few) BDTF also stores different lighting conditions for all views Very large memory requirements [Dana et al]

View Dependent Displacement Mapping [Wang et al] Store the depth maps along all possible viewing angles. Computing the texture coordinate offset then becomes as simple as

VDM - curvature For curved surfaces, the situation is slightly more complicated So depths are pre-computed for variations in curvature as well as viewing direction

VDM – function The vdm function dVDM(x,y,,,c), represents the depth to the surface along any ray to a surface with any curvature. Note that if texture coordinates are unique, the curvature dimension doesn’t need to be stored.

VDM - shadows Self shadowing is easily computed given the vdm function This is used for curved surfaces also, even though it isn’t correct.

VDM - silhouette A maximum view polar angle function MVM(x,y,,c) is used to store silhouette information Any rays where  < MVM(x,y,,c) are not rendered

VDM - compression The 5D vdm function is sampled in this paper at 128x128 x 32x8 x 16 Plus another 4MB for the mvm function. Taking 68MB of memory!

VDM - compression First, flatten dVDM and  MVM into one 2d matrix A=[AVDM,AMVM] Rows of A are indexed by x,y, and columns are indexed by ,c (or just c for ,AMVM) SVD is applied to A: A=UET=WET Where E= [EVDM,EMVM]

VDM – compression The two functions can now be reconstructed as: Only a the first few eigenfunctions Ei need to be used since the eigenvalues (and Wi) decrease rapidly with i

VDM – compression Using 8 eigenfunctions EVDM and 4 eigenfunctions EMVM reduces the data size to 4MB

VDM – results Movie

References James F. Blinn, Simulation of wrinkled surfaces, Proceedings of the 5th annual conference on Computer graphics and interactive techniques, p.286-292, August 23-25, 1978 Robert L. Cook, Shade trees, Proceedings of the 11th annual conference on Computer graphics and interactive techniques, p.223-231, January 1984 Kristin J. Dana , Bram van Ginneken , Shree K. Nayar , Jan J. Koenderink, Reflectance and texture of real-world surfaces, ACM Transactions on Graphics (TOG), v.18 n.1, p.1-34, Jan. 1999 Jan Kautz , Hans-Peter Seidel, Hardware accelerated displacement mapping for image based rendering, No description on Graphics interface 2001, p.61-70, June 07-09, 2001, Ottawa, Ontario, Canada Max, N. 1988. Horizon mapping: shadows for bump-mapped surfaces. The Visual Computer 4, 2, 109--117. Manuel M. Oliveira , Gary Bishop , David McAllister, Relief texture mapping, Proceedings of the 27th annual conference on Computer graphics and interactive techniques, p.359-368, July 2000 Brian E. Smits , Peter Shirley , Michael M. Stark, Direct Ray Tracing of Displacement Mapped Triangles, Proceedings of the Eurographics Workshop on Rendering Techniques 2000, p.307-318, June 26-28, 2000 Lifeng Wang, Xi Wang, Xin Tong, Stephen Lin, Shimin Hu, Baining Guoand Heung-Yeung Shum, View-dependent displacement mapping, ACM Trans. Graph.22 (3), 2002

Questions?