1 Occlusion Culling ©Yiorgos Chrysanthou, 1999-2001, Anthony Steed, 2004.

Slides:



Advertisements
Similar presentations
Advanced Light and Shadow Culling Methods Eric Lengyel.
Advertisements

Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
Occlusion Culling Fall 2003 Ref: GamasutraGamasutra.
Lecture Fall 2001 Visibility Back-Face Culling Painter’s Algorithm.
Visibility in Computer Graphics Toni Sellarès Unversitat de Girona
Part I: Basics of Computer Graphics
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
Object-Space Visibility Culling Anthony Steed University College London Based upon material presented by Claudio T. Silva at Eurographics 1999 Slides,
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
1 Image-Based Visual Hulls Paper by Wojciech Matusik, Chris Buehler, Ramesh Raskar, Steven J. Gortler and Leonard McMillan [
Tomas Mőller © 2000 Speed-up Techniques for Real-Time Rendering or “What makes your real-time video game fly” Tomas Möller Chalmers University of Technology,
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
1 From-Point Occlusion Culling From-Point Occlusion Culling Chapter 23.
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
Computer Graphics Shadows
Hidden Surface Removal
Afrigraph 2004 Massive model visualization Tutorial A: Part I Rasterization Based Approaches Andreas Dietrich Computer Graphics Group, Saarland University.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Computer Graphics Mirror and Shadows
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
Introduction to 3D Computer Graphics and Virtual Reality McConnell text.
NVIDIA PROPRIETARY AND CONFIDENTIAL Occlusion (HP and NV Extensions) Ashu Rege.
The Visibility Problem In many environments, most of the primitives (triangles) are not visible most of the time –Architectural walkthroughs, Urban environments.
10/16/2001CS 638, Fall 2001 Today Visibility –Overview –Cell-to-Cell –Cell-to-Region –Eye-To-Region –Occlusion Culling (maybe)
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”
Visibility Culling David Luebke Computer Science Department University of Virginia
Computer Graphics 2 Lecture 8: Visibility Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer Graphics.
Visibility Culling III: Image-Space Occlusion David Luebke Computer Science Department University of Virginia
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
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.
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.
Occlusion Query. Content Occlusion culling Collision detection (convex) Etc. Fall
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.
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Implementation II.
1 Visiblity: Culling and Clipping Computer Graphics COMP 770 (236) Spring 2009 January 21 & 26: 2009.
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
10/07/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Spatial data structures.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Where We Stand At this point we know how to: –Convert points from local to window coordinates –Clip polygons and lines to the view volume –Determine which.
Yizhou Yu Texture-Mapping Real Scenes from Photographs Yizhou Yu Computer Science Division University of California at Berkeley Yizhou Yu Computer Science.
Computer Graphics I, Fall 2010 Implementation II.
Maths & Technologies for Games Spatial Partitioning 1 CO3303 Week 8-9.
DPL2/10/2016 CS 551/651: Final Review David Luebke
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Game Engine Design Quake Engine Presneted by Holmes 2002/12/2.
Rendering Large Models (in real time)
Hierarchical Occlusion Map Zhang et al SIGGRAPH 98.
Computer Graphics Inf4/MSc 1 Computer Graphics Lecture 5 Hidden Surface Removal and Rasterization Taku Komura.
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
Occlusion Culling David Luebke University of Virginia.
CS 445: Introduction to Computer Graphics David Luebke University of Virginia Visibility Calculations and Occlusion Culling.
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
Computer Graphics Implementation II
Today Visibility Overview Cell-to-Cell Cell-to-Region Eye-To-Region
Jim X. Chen George Mason University
CSCE 441: Computer Graphics Hidden Surface Removal
Implementation II Ed Angel Professor Emeritus of Computer Science
Conservative Visibility Preprocessing using Extended Projections Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech iMAGIS-GRAVIR/IMAG-INRIA.
CS 551 / 645: Introductory Computer Graphics
Introduction to Computer Graphics with WebGL
Implementation II Ed Angel Professor Emeritus of Computer Science
Presentation transcript:

1 Occlusion Culling ©Yiorgos Chrysanthou, , Anthony Steed, 2004

2 Overview n Graphics Pipeline Problems Speed up techniques n Occlusion Culling Image-based Object-based

3 What’s wrong with the standard graphics pipeline? n It processes every polygon therefore it does not scale Sometimes polygons than pixels Pixels are being drawn multiple times n According to the statistics, the size of the average 3D model grows more than the processing power

4 Speed Up Techniques n Roughly three classes: Visibility culling –Avoid processing anything that will not be visible in (and thus not contribute to) the final image Levels of detail –Generate several representations for complex objects are use the simplest that will give adequate visual result from a given viewpoint Image based rendering –Replace complex geometry with a texture

5 The Visibility Problem n Select the (exact?) set of polygons from the model which are visible from a given viewpoint n Average number of polygons, visible from a viewpoint, is much smaller than the model size

6 Visibility Culling n Avoid rendering polygons or objects not contributing to the final image n We have three different cases of non-visible objects: those outside the view volume (view volume culling) those which are facing away from the user (back face culling) those occluded behind other visible objects (occlusion culling)

7 Visibility Culling

8 View Volume Culling n If a spatial subdivision exists, it can be used for view volume culling

9 Occlusion Culling n Image-space methods Generally analyse the partially completed image to determine whether or not to render complete objects n Object-space methods Provide methods for determining if sections of the model need rendering due to what can be seen in the view volume n A very active topic of research in last 5 years, so there are many, many techniques

10 Image-Based Occlusion n Occlusion maps If you can order the polygons front to back, then the image on the screen tells you areas which are obscured If, e.g. we find that one quarter of the screen is covered then we need not render anything in that quarter The problem devolves to finding good occluders, and occludees

11 Testing for Occlusion n If the box surrounding a node is not visible then nothing in it is either n The faces of the box are projected onto the image plane and tested for occlusion occluder

12 In Image Space n Render some set of objects as normal (foreground) n Read the image back n For other objects Find bounding box Test if those pixels covered yet or not

13 In Practice n Reading back the image is very slow with current graphics hardware n Fortunately recent graphics hardware can do occlusion queries for you Instead of rendering it tells you whether or not any pixels would be drawn n Of course have to make sure that doing the occlusion test is no more expensive that rendering the actual object!

14 Cells and Portals (Teller and Sequin, SIGGRAPH 91) n Decompose space into convex cells n For each cell, identify its boundary edges into two sets: opaque or portal n Precompute visibility among cells n During viewing (eg, walkthrough phase), use the precomputed potentially visible polygon set (PVS) of each cell to speed-up rendering

15 Determining Adjacency Information

16 For Each Cell Find Stabbing Tree

17 Compute Cell Visible From Each Cell SL  0,  L  L SR  0,  R  R Linear programming problem: Find_Visible_Cells(cell C, portal sequence P, visible cell set V) V=V  C for each neighbor N of C for each portal p connecting C and N orient p from C to N P’ = P concatenate p if Stabbing_Line(P’) exists then Find_Visible_Cells (N, P’, V)

18 Eye-to-Cell Visibility n A cell is visible if cell is in VV all cells along stab tree are in VV all portals along stab tree are in VV sightline within VV exists through portals n The eye-to-cell visibility of any observer is a subset of the cell-to-cell visibility for the cell containing the observer

19 Image Space Cells and Portals (Luebke and Georges, I3D 95) n Instead of pre-processing all the PVS calculation, it is possible to use image-space portals to make the computation easier n Can be used in a dynamic setting

20 Top View Showing the Recursive Clipping of the View Volume

21 Summary n Faster hardware encourages big models n Real-time is maintained by visibility culling, level of detail, image-based rendering n Occlusion, part of visibility culling relies on either Being able to identify good occluders (image-based occlusion) Being able to structure the model to allow analytic solutions (object-based occlusion)