03/15/03© 2005 University of Wisconsin Where We’ve Been Photo-realistic rendering –Accurate modeling and rendering of light transport and surface reflectance.

Slides:



Advertisements
Similar presentations
Graphics Pipeline.
Advertisements

Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Week 7 - Monday.  What did we talk about last time?  Specular shading  Aliasing and antialiasing.
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
3D Graphics Rendering and Terrain Modeling
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
Part I: Basics of Computer Graphics
Visibility Culling. Back face culling View-frustrum culling Detail culling Occlusion culling.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
Introduction to Volume Rendering Presented by Zvi Devir.
Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges Tomas Akenine-Möller Ulf Assarsson Department of Computer Engineering, Chalmers University.
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
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.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Computer Graphics Shadows
09/18/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Bump Mapping Multi-pass algorithms.
9/20/2001CS 638, Fall 2001 Today Finishing Up Reflections More Multi-Pass Algorithms Shadows.
Computer Graphics Mirror and Shadows
Computer graphics & visualization Point-Based Computer Graphics.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
Computer Graphics Inf4/MSc Computer Graphics Lecture 9 Antialiasing, Texture Mapping.
CS 638, Fall 2001 Today Light Mapping (Continued) Bump Mapping with Multi-Texturing Multi-Pass Rendering.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CSE 381 – Advanced Game Programming Basic 3D Graphics
The Visibility Problem In many environments, most of the primitives (triangles) are not visible most of the time –Architectural walkthroughs, Urban environments.
Surfels : Surface Elements as Rendering Primitives Hanspeter Pfister Matthias Zwicker Jeroen van Baar Markus Gross Presented by Kevin Reed.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
MIT EECS 6.837, Durand and Cutler Graphics Pipeline: Projective Transformations.
“QSplat : A Multiresolution Point Rendering System for Large Data Meshes” Authors: Szymon Rusinklewicz Marc Levoy Presentation: Nathaniel Fout.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 Going-through.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
10/26/04© University of Wisconsin, CS559 Fall 2004 Last Time Drawing lines Polygon fill rules Midterm Oct 28.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Visible-Surface Detection Jehee Lee Seoul National University.
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.
CS 638, Fall 2001 Multi-Pass Rendering The pipeline takes one triangle at a time, so only local information, and pre-computed maps, are available Multi-Pass.
03/24/03© 2003 University of Wisconsin Last Time Image Based Rendering from Sparse Data.
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
04/23/03© 2003 University of Wisconsin Where We’ve Been Photo-realistic rendering –Accurate modeling and rendering of light transport and surface reflectance.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
Lecture 6 Rasterisation, Antialiasing, Texture Mapping,
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Computer Graphics I, Fall 2010 Implementation II.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Painterly Rendering for Animation Introduction speaks of focus and detail –Small brush strokes focus and provide detail –Large strokes are abstract and.
CS559: Computer Graphics Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008.
CS 445 / 645: Introductory Computer Graphics Review.
Hierarchical Occlusion Map Zhang et al SIGGRAPH 98.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Week 7 - Monday CS361.
Week 2 - Friday CS361.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
Jim X. Chen George Mason University
© University of Wisconsin, CS559 Fall 2004
Lecture 13 Clipping & Scan Conversion
UMBC Graphics for Games
Interactive Sampling and Rendering for Complex and Procedural Geometry
Presentation transcript:

03/15/03© 2005 University of Wisconsin Where We’ve Been Photo-realistic rendering –Accurate modeling and rendering of light transport and surface reflectance Image-based rendering –Avoiding modeling by exploiting images as primitives –Faces as a particular application (Future) NPR rendering –Trying to achieve a stylized look

03/15/03© 2005 University of Wisconsin Today Point-based Rendering –Also called splatting

03/15/03© 2005 University of Wisconsin Current Standards Traditionally, graphics has worked with triangles as the rendering primitive –Triangles are really just the lowest common denominator for surfaces Texture-mapping is used to give detail to surfaces Why do surfaces dominate? –From an authoring (content creation) perspective? –From an efficiency perspective?

03/15/03© 2005 University of Wisconsin Laser Range Scanning Laser scanners capture 3D point and color samples –Connectivity is implicit They can scan at resolutions of 0.25mm or better They produce huge data sets of point samples (multi GB) –Multiple sets of samples for any one object What do you have to do to make it work with existing systems? What are some problems? Digitizing David

03/15/03© 2005 University of Wisconsin Point-Based Rendering Instead of drawing triangles, just draw lots of dots (or small circles, or something) What are the advantages of this? What problems do you need to solve? –Think about all the operations performed in a standard graphics pipeline, and how they might cause problems with points –There are some unique problems

03/15/03© 2005 University of Wisconsin Some History The idea of splatting points onto the screen originated with Levoy and Whitted in 1985 It found some use in volume rendering –Voxels were accumulated along rays and onto the screen A commonly cited commercial system is Animatek’s Caviar player –Interactive frame rates for complex models aimed at games Image-based rendering can be viewed as point-based rendering

03/15/03© 2005 University of Wisconsin Surfels (Pfister, Zwicker, van Baar and Gross SIGGRAPH 2000) We’ve seen pixels, voxels, texels, and now surfels –You can probably guess what it means This paper focuses on the issues of: –Sampling other representations into surfels –Storing surfels –Rendering with surfels

03/15/03© 2005 University of Wisconsin Sampling Objects The final pixel resolution determines the sampling density –Want at least one sample per pixel –Typically go higher Cast rays through the object in an axis aligned direction on a regular grid spacing –Do this for each of three axis align directions Store pre-filtered texture colors at the points –Project the surfel into texture space and filter to get a single color

03/15/03© 2005 University of Wisconsin Storing surfels Store 3 layered depth images (LDI), one for each axis- aligned orthographic viewing direction –Call the result a Layered Depth Cube (LDC) –We briefly saw layered depth images back for image based rendering –A layered depth image stores multiple depths per pixel, with color for each depth Build an octree hierarchy by down-sampling high-res LDIs –Nodes in the tree are called blocks Can also reduce a LDC to a single LDI (but with some error)

03/15/03© 2005 University of Wisconsin Rendering surfels (1) Cull blocks against the view frustum –Fast and simple Recurse through blocks to find the right resolution –Fast estimate for required resolution based on projection of block diagonals Warp blocks to screen space –Blocks are in object space originally –Fast algorithms for doing this in another paper –Only a few operations per surfel (fewer than transformation due to regularity of samples)

03/15/03© 2005 University of Wisconsin Rendering surfels (2) Do visibility with a Z buffer –Each surfel covers a little area –Project this area and scan convert it into the z-buffer –Depth variation comes from surfel normal –Can still be holes (magnification or surfels that are near-tangent) Shading is done with environment maps using projected surfel normals Reconstruct image by filling holes between projected surfels –Apply a filter in screen space –Can super-sample in the z-buffer and so on to improve quality

03/15/03© 2005 University of Wisconsin Splatting and Reconstruction

03/15/03© 2005 University of Wisconsin surfel Results Software system gets <10fps on very complex models (hundred thousand polygons) –Most time spent warping and reconstructing –No mention of pre-process time Their ultimate aim is hardware for this purpose

03/15/03© 2005 University of Wisconsin QSplat (Rusinkiewicz and Levoy SIGGRAPH 2000) Primary goal is interactive rendering of very large point- data sets Built for the Digital Michelangelo Project

03/15/03© 2005 University of Wisconsin Sphere Trees A hierarchy of spheres, with leaves containing single vertices Each sphere stores center, radius, normal, normal cone width, and color (optional) Tree built the same way one would build a KD-tree –Median cut method This paper goes into great detail about how to lay out the tree in memory and quantize the data to minimize storage –They cared a lot about rendering very large models

03/15/03© 2005 University of Wisconsin QSplat Sphere Tree

03/15/03© 2005 University of Wisconsin Rendering Sphere Trees Start at root Do a visibility test –Short circuit of sphere is outside view or completely inside –Also back-face cull based on normal cone Recurse or Draw –Recurse based on projected area of sphere with an adapted threshold –To draw, use normals for lighting and z-buffer to resolve occlusion

03/15/03© 2005 University of Wisconsin Splat Shape Several options –Square (OpenGL “point”) –Circle (triangle fan or texture mapped square) –Gaussian (have to do two-pass) Can squash splats depending on viewing angle –Sometimes causes holes at silhouettes, can be fixed by bounding squash factor

03/15/03© 2005 University of Wisconsin Splat Shape

03/15/03© 2005 University of Wisconsin Splat Silhouettes

03/15/03© 2005 University of Wisconsin Results 200k to 300k points per frame at 5-10Hz Good for low end machines (very very simple) Pre-processing is much faster than level-of-detail algorithms, which are the main competition Got real-world use

03/15/03© 2005 University of Wisconsin Few Splats

03/15/03© 2005 University of Wisconsin Many Splats

03/15/03© 2005 University of Wisconsin Surface Splatting (Zwicker, Pfister, van Baar and Gross, SIGGRAPH 2001) Main focus is derivation of texture filtering for splatting applications –Tells you how to sample objects and what the splatting kernel should be Makes no assumptions about regularity of point representations Handles transparency and high-quality anti-aliasing using a modified A-buffer –Who remembers what that is? –The modifications fix some of the main problems with A-buffers

03/15/03© 2005 University of Wisconsin Surface Splatting Results

03/15/03© 2005 University of Wisconsin Comparison Top, texture sampling in screen space Second, texture sampling in source space Third, splatting circles Four, splatting ellipses

03/15/03© 2005 University of Wisconsin Frameless Rendering Continuously update pixels in randomized order Reconstruct image with filtering based on recent pixels Many guises: frameless rendering, the render cache, radiosity interpolants Think raytracing: –As things change from frame to frame, cast as many rays as you have time for, and keep other rays from previous frame Hard parts are knowing which samples to keep/discard, and filtering

03/15/03© 2005 University of Wisconsin Combining edges and points (Bala, Walter, Greenberg SIGGRAPH 2003) Track edges and use it to limit filtering –Do not filter points across edges Better results at lower point densities Can handle shadow boundaries too

03/15/03© 2005 University of Wisconsin Edge + Points Results

03/15/03© 2005 University of Wisconsin Point Sampling Progress Much of the recent work in point sampling has been on modeling –Editing point sampled geometry –CSG for point sampled data Always more work on filtering, speedups, …