Originally presented at: ACM SIGGRAPH 2003 Symposium on Interactive 3D Graphics Interruptible Rendering Joint work with: David Luebke * Benjamin Watson†

Slides:



Advertisements
Similar presentations
Scalability with Many Lights 1 Lightcuts & Multidimensonal Lightcuts Course: Realistic Rendering with Many-Light Methods Note: please see website for the.
Advertisements

Object Space EWA Surface Splatting: A Hardware Accelerated Approach to High Quality Point Rendering Liu Ren Hanspeter Pfister Matthias Zwicker CMU.
Computer graphics & visualization Global Illumination Effects.
Breaking the Frame David Luebke University of Virginia.
Week 7 - Monday.  What did we talk about last time?  Specular shading  Aliasing and antialiasing.
3D Graphics Rendering and Terrain Modeling
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
SIGGRAPH ASIA 2011 Preview seminar Shading and Shadows.
Scalability with many lights II (row-column sampling, visibity clustering) Miloš Hašan.
1 Further Terrain Rendering and Level of Detail Lecture 8 - Week 4 Advanced Programming for 3D Applications CE
UVA / UNC / JHU Perceptually Guided Simplification of Lit, Textured Meshes Nathaniel WilliamsUNC David LuebkeUVA Jonathan D. CohenJHU Michael KelleyUVA.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Smooth View-Dependent Level-of- Detail Control and its Application to Terrain Rendering Hugues Hoppe Microsoft Research.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
Simplification of Arbitrary Polyhedral Meshes Shaun D. Ramsey* Martin Bertram Charles Hansen University of Utah University of Kaiserslautern University.
Kumar, Roger Sepiashvili, David Xie, Dan Professor Chen April 19, 1999 Progressive 3D Mesh Coding.
Visualization and graphics research group CIPIC January 21, 2003Multiresolution (ECS 289L) - Winter Dynamic View-Dependent Simplification for Polygonal.
Paper by Alexander Keller
CSCE 641: Computer Graphics Image-based Rendering Jinxiang Chai.
3-D RENDERING Peter Moore Jackson Cwach. What 3-D Rendering is 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame.
1 Occlusion Culling ©Yiorgos Chrysanthou, , Anthony Steed, 2004.
Input: Original intensity image. Target intensity image (i.e. a value sketch). Using Value Images to Adjust Intensity in 3D Renderings and Photographs.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Filtering Approaches for Real-Time Anti-Aliasing /
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
University of Illinois at Chicago Electronic Visualization Laboratory (EVL) CS 426 Intro to 3D Computer Graphics © 2003, 2004, 2005 Jason Leigh Electronic.
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.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Dynamic Meshing Using Adaptively Sampled Distance Fields
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,
Progressive Mesh in DirectX Seung ho Lee Hyun taek Kwon.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Level of Detail: Choosing and Generating LODs David Luebke University of Virginia.
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.
Adaptive Display Algorithmfor Interactive Frame Rates.
3D Viewers Two main uses: –Detector/event exploration – interactivity priority (15fps min). –Generate presentation material (still/movie renders) – quality.
Advanced Computer Graphics Shadow Techniques CO2409 Computer Graphics Week 20.
View-dependent Adaptive Tessellation of Spline Surfaces
Level of Detail Management for Games David Luebke University of Virginia Introduction, Overview.
3-D Data cs5984: Information Visualization Chris North.
Duy & Piotr. How to reconstruct a high quality image with the least amount of samples per pixel the least amount of resources And preserving the image.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Surface Rendering Methods 고려대학교 컴퓨터 그래픽스 연구실.
Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful Jiri Bittner 1, Michael Wimmer 1, Harald Piringer 2, Werner Purgathofer 1 1 Vienna.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
3-D Information cs5764: Information Visualization Chris North.
DPL2/10/2016 CS 551/651: Final Review David Luebke
Real-Time Dynamic Shadow Algorithms Evan Closson CSE 528.
Rendering Large Models (in real time)
Render methods. Contents Levels of rendering Wireframe Plain shadow Gouraud Phong Comparison Gouraud-Phong.
CDS 301 Fall, 2008 From Graphics to Visualization Chap. 2 Sep. 3, 2009 Jie Zhang Copyright ©
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
Computer Graphics Ken-Yi Lee National Taiwan University (the slides are adapted from Bing-Yi Chen and Yung-Yu Chuang)
Antialiasing. What is alias? Alias - A false signal in telecommunication links from beats between signal frequency and sampling frequency (from dictionary.com)
Real-Time Soft Shadows with Adaptive Light Source Sampling
Week 2 - Friday CS361.
Combining Edges and Points for Interactive High-Quality Rendering
3D Graphics Rendering PPT By Ricardo Veguilla.
UMBC Graphics for Games
Illumination and Shading
Chap 10. Geometric Level of Detail
Chapter 14 Shading Models.
Presentation transcript:

Originally presented at: ACM SIGGRAPH 2003 Symposium on Interactive 3D Graphics Interruptible Rendering Joint work with: David Luebke * Benjamin Watson† Abhinav Dayal† * University of Virginia † Northwestern University Master’s Project Presentation Cliff Woolley University of Virginia

4/30/2003 Interruptible Rendering2 Motivation

4/30/2003 Interruptible Rendering3 Balance complexity with interactivity  Age-old tradeoff: detail vs. frame rate  Typical approach: Maintain a high, constant frame rate Create a mesh that can always be rendered in time

4/30/2003 Interruptible Rendering4 Improve on traditional LOD  Is a high, constant frame rate good enough?  Is fidelity ever more important than frame rate?  How can this be decided at runtime while still guaranteeing interactivity?

4/30/2003 Interruptible Rendering5 Error metric unification  Inspired by [Meruvia 2000]  Combine notions of temporal and spatial error (i.e. “lateness” vs. “coarseness”)  Use to drive progressive refinement

4/30/2003 Interruptible Rendering6 Unified error metrics  With interruptible rendering, we address this key question: At what point does further refinement of the current frame become pointless?

4/30/2003 Interruptible Rendering7 Methodology

4/30/2003 Interruptible Rendering8 Methodology  Refine a stream of continuous LODs  Monitor input frequently  Minimize dynamic visual error

4/30/2003 Interruptible Rendering9 Refine a stream of continuous LODs  Render progressive refinements on top of each other until “out of time”  Ensure that we can stop refining at any time and move on to the next frame

4/30/2003 Interruptible Rendering10 Refinement  Three refinement schemes implemented: Splatting (Tech sketch, SIGGRAPH 2002) Progressive polygonal hulls Progressive ray casting (Abhinav Dayal, I3D 2003)  Will work with any progressive rendering scheme

4/30/2003 Interruptible Rendering11  Start with a very coarse rendering  Progressively render refinement stream over top of the coarse image Progressive hull refinement

4/30/2003 Interruptible Rendering12 Progressive hulls  Simplification method by [Sander et al. 2000]  Record a sequence of constrained edge collapses and play it back in reverse  Guarantees containment V1V1 VnVn V4V4 V3V3 V2V2

4/30/2003 Interruptible Rendering13 V1V1 VnVn V4V4 V3V3 V2V2 Progressive hulls

4/30/2003 Interruptible Rendering14 Progressive hulls

4/30/2003 Interruptible Rendering15 Monitor input frequently  Ideally: input monitored continuously  Realistically: check every x ms  Allows quick reaction when sudden changes in input occur  Allows system to be self-tuning

4/30/2003 Interruptible Rendering16 Minimize dynamic visual error  Always display image with least error  Sometimes: Further refinement is pointless  Temporal error (lateness) exceeds spatial error (coarseness) for the current frame Front buffer “out of date”  Dynamic visual error (spatial + temporal) in front is greater than in the back

4/30/2003 Interruptible Rendering17 Calculating dynamic visual error  Spatial error Screen-space size of coarsest geometry visible  Temporal error Project bounding box of object in screen-space Find the maximum screen-space distance any corner has moved since frame began

clear front buffer I front = I current start Refine the current image in the front buffer. improve i front t front = I current – I front s front = I front – i front Refine the current image in the back buffer. improve i back t back = I current – I back s back = I back – i back Start refining a new image toward most current input in the back buffer. clear back buffer I back = I current Back buffer now closer to I current than front is. swap buffers I front = I back It is pointless to continue refining. swap buffers I front = I back s front = s back e front >= e back ? noyes no t front > s front ? yesno t back > s back ? Rendering to Back BufferRendering to Front Buffer time t front = I current – I front e front = s front + t front e back = s back + t back Clear the front buffer start Refine the front buffer Refine the back buffer Clear the back buffer Swap buffers e f >= e b ? NY YN t f > s f ? YN t b > s b ? Rendering to Back BufferRendering to Front Buffer time Compute dynamic visual error 

4/30/2003 Interruptible Rendering19 Evaluation

4/30/2003 Interruptible Rendering20 “Gold Standard” evaluation  Compares an ideal rendering to interactive approximations  Ideal rendering: full detail, zero delay  Interactive approximations are Unmanaged Constant fidelity (in pixels) Constant frame rate (fixed Hz) Interruptible rendering

4/30/2003 Interruptible Rendering21 Frame generation  Record what the user sees and when Generate each approximation offline Record actual frames displayed over time  Account for: Render time Double buffering Frame locking Rendering into front buffer (interruptible)

4/30/2003 Interruptible Rendering22 Comparing frames  Error measures RMS – Root Mean Square error Lindstrom's perceptually based error Diff t = Ideal t - Rendered t

4/30/2003 Interruptible Rendering23 Two test input streams  Rotation Model-centered Fixed angular velocity  User interaction Includes both view translation and rotation Includes both static and dynamic segments  Both input streams recorded to files, with timestamps

Ideal Inter- ruptible Un- managed Frames: Interaction sequence: ray caster Constant Fidelity

4/30/2003 Interruptible Rendering25 Video

Interactive input stream Rotation input stream Ray casting Progressive hulls error(rms) time(secs) constant fidelity unmanaged constant frame rate interruptible

4/30/2003 Interruptible Rendering27 Demo

4/30/2003 Interruptible Rendering28 Conclusions

4/30/2003 Interruptible Rendering29 Benefits  Accuracy Balancing spatial and temporal error  Interactivity Slow renderers, like ray caster Large models  Self-tuning feedback system Adapts to hardware

4/30/2003 Interruptible Rendering30 Limitations  Overdraw in progressive renderer Progressive ray caster better here  Cost of monitoring temporal error  Rendering immersive models Requires reversing the containment criteria for polygon rendering Not a problem for ray caster

4/30/2003 Interruptible Rendering31 Future work  Temporal & spatial error Better estimates of each (e.g. color) Better comparisons of both  Textures, normal maps, etc.  Reducing overdraw  View-dependent refinement  Ray tracing: a promising candidate

4/30/2003 Interruptible Rendering32 Acknowledgements  Peter Lindstrom for ltdiff  OpenRT Interactive Raytracing Project  Stanford 3D Scanning Repository  National Science Foundation Awards , , and

4/30/2003 Interruptible Rendering33 Questions?

4/30/2003 Interruptible Rendering34 Progressive ray casting  Progressive refinement Coarse to fine sampling/reconstruction  Sampling Where to shoot the ray  Adaptive  Non-adaptive  Reconstruction Producing imagery from samples

4/30/2003 Interruptible Rendering35 Sampling  Coarse to fine - quadtree approach Sample every quadtree node's center Breadth first traversal Predetermined random traversal per level  Ray casting – using OpenRT Per ray API ~ 600,000 rays per sec. Simple phong shading No shadows or specular highlights

4/30/2003 Interruptible Rendering36 Reconstruction  Placement Place splat at center of each quadtree node  Shading Flat shaded quad covering the node's screen space Alpha-textured quads (smooth reconstruction)  Quad size = twice of node's screen space  Texture: Gaussian blob Transparent at edges Opaque at center

4/30/2003 Interruptible Rendering37 Flat shaded Alpha textured

4/30/2003 Interruptible Rendering38 Calculating dynamic visual error  Temporal error Computed as in case of polygonal hulls  Spatial error Diagonal length of the largest quadtree node displayed on the screen Spatial error