Adaptive Display Algorithmfor Interactive Frame Rates.

Slides:



Advertisements
Similar presentations
What is a CAT?. Introduction COMPUTER ADAPTIVE TEST + performance task.
Advertisements

Analysis of Algorithms
Interactive Rendering using the Render Cache Bruce Walter, George Drettakis iMAGIS*-GRAVIR/IMAG-INRIA Steven Parker University of Utah *iMAGIS is a joint.
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Visibility in Games Harald Riegler. 2 / 18 Visibility in Games n What do we need it for? u Increase of rendering speed by removing unseen scene data from.
Occlusion Culling Fall 2003 Ref: GamasutraGamasutra.
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
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.
Hokkaido University Efficient Rendering of Lightning Taking into Account Scattering Effects due to Clouds and Atmospheric Particles Tsuyoshi Yamamoto Tomoyuki.
The Knapsack Problem The classic Knapsack problem is typically put forth as: A thief breaks into a store and wants to fill his knapsack with as much value.
Optimized Subdivisions for Preprocessed Visibility Oliver Mattausch, Jiří Bittner, Peter Wonka, Michael Wimmer Institute of Computer Graphics and Algorithms.
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
Adaptive Streaming and Rendering of Large Terrains: a Generic Solution WSCG 2009 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes,
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Outline Reprojection and data reuse Reprojection and data reuse – Taxonomy Bidirectional reprojection Bidirectional reprojection.
Hidden Surface Removal
Week 1 - Friday.  What did we talk about last time?  C#  SharpDX.
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.
Culling Techniques “To cull” means “to select from group” In graphics context: do not process data that will not contribute to the final image The “group”
Level of Detail & Visibility: A Brief Overview David Luebke University of Virginia.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Image-based Rendering. © 2002 James K. Hahn2 Image-based Rendering Usually based on 2-D imagesUsually based on 2-D images Pre-calculationPre-calculation.
1 Shadows (2) ©Anthony Steed Overview n Shadows – Umbra Recap n Penumbra Analytical v. Sampling n Analytical Aspect graphs Discontinuity meshing.
Introduction to Parallel Rendering Jian Huang, CS 594, Spring 2002.
CSC 413/513: Intro to Algorithms Greedy Algorithms.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
Advanced Computer Graphics Shadow Techniques CO2409 Computer Graphics Week 20.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Orientable Textures for Image- Based Pen-And-Ink Illustration Michael P. Salisbury Michael T. Wong John F. Hughes David A. Salesin SIGGRAPH 1997 Andrea.
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.
LODManager A framework for rendering multiresolution models in real-time applications J. Gumbau O. Ripollés M. Chover.
1 Algorithms CSCI 235, Fall 2015 Lecture 30 More Greedy Algorithms.
Greedy Algorithms BIL741: Advanced Analysis of Algorithms I (İleri Algoritma Çözümleme I)1.
CS 3343: Analysis of Algorithms Lecture 19: Introduction to Greedy Algorithms.
Electronic Visualization Laboratory University of Illinois at Chicago “Time-Critical Multiresolution Volume Rendering using 3D Texture Mapping Hardware”
DPL2/10/2016 CS 551/651: Final Review David Luebke
Rendering Large Models (in real time)
Hierarchical Occlusion Map Zhang et al SIGGRAPH 98.
CS 361 – Chapter 10 “Greedy algorithms” It’s a strategy of solving some problems –Need to make a series of choices –Each choice is made to maximize current.
1. For minimum vertex cover problem in the following graph give
Scheduling Level of Detail with guaranteed Quality and Cost W. Pasman, F. W. Jansen Delft University of Technology.
1cs426-winter-2008 Notes. 2 Atop operation  Image 1 “atop” image 2  Assume independence of sub-pixel structure So for each final pixel, a fraction alpha.
CHC ++: Coherent Hierarchical Culling Revisited Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
A greedy algorithm is an algorithm that follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding.
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
Week 2 - Monday CS361.
CSC317 Greedy algorithms; Two main properties:
Real-Time Soft Shadows with Adaptive Light Source Sampling
Level of Detail: A Brief Overview
Robbing a House with Greedy Algorithms
Real-Time Ray Tracing Stefan Popov.
CS679 - Fall Copyright Univ. of Wisconsin
The Graphics Rendering Pipeline
Algorithm Design Methods
CS 3343: Analysis of Algorithms
Implementation II Ed Angel Professor Emeritus of Computer Science
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Conservative Visibility Preprocessing using Extended Projections Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech iMAGIS-GRAVIR/IMAG-INRIA.
Advanced Algorithms Analysis and Design
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
0-1 Knapsack problem.
Algorithms CSCI 235, Spring 2019 Lecture 30 More Greedy Algorithms
Implementation II Ed Angel Professor Emeritus of Computer Science
Presentation transcript:

Adaptive Display Algorithmfor Interactive Frame Rates

The Problem Two keys for an interactive system Interactive rendering speed: too many polygons – difficult!! Uniform frame rate: varied scene complexity – difficult!!

Possible Solutions Visibility Culling – back face culling, frustum culling, occlusion culling (might not be sufficient) Levels of Detail (LOD) – hierarchical structures and choose one to satisfy the frame rate requirement

LOD Selections How to pick the Optimal ones??!!

Simple Solutions The level of detail can be controlled by specifying a threshold Static solution: Determine the threshold based on the size or distance of an object to the image plane

Problems Do not guarantee uniform frame rate (when the user change his/her view) Do not guarantee a bounded frame rate (the visible scene can be arbitrarily complex) Dynamic algorithms are needed !!!

Dynamic Algorithm Reactive – adjust the threshold for LOD based on the feedback from the previous rendering time Predictive – estimate the time to render the current scene for all possible levels and to pick the best one !! (meet the frame rate while maximizing the quality)

Algorithm (funkhouser ’93) A greedy predictive algorithm 1. Estimate the cost and benefit of each object 2. Maximize the benefit/cost ration

The parameter space For each object, we can vary: Level of Detail Rendering Algorithms (flat-shading, Gouraud- shading, Phong-shading etc) An object instance: (O,L,R) O: object L: rendered at the level of detail L R: rendering method

Cost and Benefit Cost(O,L,R): the time required to render the object Benefit (O,L,R): the contribution to the final image Goal: Maximize Benefit(O,L,R)/Cost(O,L,R) Assumption: CPU is fast enough to keep up

The Challenges Find Good Benefit and Cost Estimates Real Time Optimization

Cost Estimate (heuristics) Estimate the time required to render the object O with LOD L and rendering method R (a difficult task – as the rendering time depends on many factors ) Geometry rasterization

Cost Heuristics (2) Rendering time = max (geometry, rasterization) – assume that geometry and rasterization can be processed in parallel Geometry Processing: cost[g] = C1 * # of polygons + C2 * # of vertices Rasterization: cost[r] = C3 * # of pixels

Cost Heuristics (3) Cost (O,L,R) = Max ( cost[g], cost [r] ) C1, C2, and C3 needs to be determined empherically - platform and hardware dependent

Benefit Heuristics The size of the object The accuracy of the object: more detail -> higher quality (compare the image quality) Accurarcy (O,L,R) = 1 – Error = 1 – Base Error/ Sample(L,R)^m Base Error = 0.5 Sample(L,R) = number of samples per object m = exponent (Gouraud = 1, Phong = 2)

Benefit Heuristics (2) Importance: semantics Focus: gaze directed Motion Blur: slow moving object > fast moving object Hysteresis: the difference in LOD between the current and the previous frames (discourage frequent change of LOD)

Benefit Heuristics (3) Benefit (O,L,R) = Size(O) * Accuracy (O,L,R) * Importance(O) * Focus(O) * Motion(O) * Hystersis(O,L,R)

Optimization Algorithm Goal: Maximize Sum (Benefit (O,L,R) Subject to: Sum(Cost(O,L,R)) < target frame rate This problem is equivalent to the knapsack problem

The Kanpsack problem A thief robbing a store find n items, the i-th item is worth $V_i, and weighs W_I pounds. The thief wants to take as valuable as possible but he can only carry W punds in his Kanpsack (integer knapsack) Unfortunately, the Knapsack problem is NP-complete.

Greedy Algorithm Calculate each item’s value per pound (Vi/Wi), and the thief takes the items from the highest Vi/Wi until the knapsack is full Render the objects with the highest Benefit/Cost until the time (cost) budget is up

Results

Results (2)

Results (3)

Possible Projects 1.Verify Funkhouser’s method (how practical is it? 2. Come up with a similar method for volume rendering 3. Come up with a different method for polygon rendering.