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.

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
10/10/02 (c) 2002 University of Wisconsin, CS 559 Last Time Finished viewing: Now you know how to: –Define a region of space that you wish to view – the.
Occlusion Culling Fall 2003 Ref: GamasutraGamasutra.
CECS461 Computer Graphics II University of Missouri at Columbia Hidden Surface Removal.
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
Visibility in Computer Graphics Toni Sellarès Unversitat de Girona
Part I: Basics of Computer Graphics
Visibility Culling. Back face culling View-frustrum culling Detail culling Occlusion culling.
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
HCI 530 : Seminar (HCI) Damian Schofield.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
1 Dr. Scott Schaefer Hidden Surfaces. 2/62 Hidden Surfaces.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
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 CSCE 441: Computer Graphics Hidden Surface Removal (Cont.) Jinxiang Chai.
Bounding Volume Hierarchies and Spatial Partitioning Kenneth E. Hoff III COMP-236 lecture Spring 2000.
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
Hidden Surface Removal
1 Occlusion Culling ©Yiorgos Chrysanthou, , Anthony Steed, 2004.
Afrigraph 2004 Massive model visualization Tutorial A: Part I Rasterization Based Approaches Andreas Dietrich Computer Graphics Group, Saarland University.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Lecture 5: 3D Rendering Pipeline (II) Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia Institute of Technology.
The Visibility Problem In many environments, most of the primitives (triangles) are not visible most of the time –Architectural walkthroughs, Urban environments.
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”
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Computer Graphics 2 Lecture 8: Visibility Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
An Application of Tetrahedrisation to From-Point Visibility Honours Project Proposal Gerard Ryan and Brendon Miszka
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Visible-Surface Detection Jehee Lee Seoul National University.
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
Hidden Surface Removal 1.  Suppose that we have the polyhedron which has 3 totally visible surfaces, 4 totally invisible/hidden surfaces, and 1 partially.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
CS-378: Game Technology Lecture #2.2: Clipping and Hidden Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney,
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.
Hidden Surface Removal
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
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.
Computer Graphics I, Fall 2010 Implementation II.
Maths & Technologies for Games Spatial Partitioning 1 CO3303 Week 8-9.
Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Game Engine Design Quake Engine Presneted by Holmes 2002/12/2.
01/28/09Dinesh Manocha, COMP770 Visibility Computations Visible Surface Determination Visibility Culling.
Hierarchical Occlusion Map Zhang et al SIGGRAPH 98.
Computer Graphics Inf4/MSc 1 Computer Graphics Lecture 5 Hidden Surface Removal and Rasterization Taku Komura.
David Luebke3/12/2016 Advanced Computer Graphics Lecture 3: More Ray Tracing David Luebke
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.
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.
Computer Graphics Implementation II
Bounding Volume Hierarchies and Spatial Partitioning
Week 2 - Friday CS361.
Solid Area Scan Conversion or Visible Surface Detection
CSC418 Computer Graphics Back Faces Visibility Algorithms.
Visible-Surface Detection Methods
Bounding Volume Hierarchies and Spatial Partitioning
Today Visibility Overview Cell-to-Cell Cell-to-Region Eye-To-Region
CSCE 441: Computer Graphics Hidden Surface Removal
Implementation II Ed Angel Professor Emeritus of Computer Science
Visibility Computations
Introduction to Computer Graphics with WebGL
Implementation II Ed Angel Professor Emeritus of Computer Science
Presentation transcript:

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 want realistic models, eg scanned humans, radiosity solution of the environment etc (lots of polygons/textures) –we need real-time rendering over 25 frames per second often maintaining the frame rate is more important than image quality

How can we accelerate the rendering? Using graphics hardware that can do the intensive operations in special chips –as processing power increases so do user expectations Fine tuning the models –removing overlapping parts of polygons –removing un-needed polygons (undersides etc) –replacing detail with textures Improving the graphics pipeline – This is what we will concentrate

Making the most of the graphics hardware Know the strengths and limitation of your hardware –multipass texturing –display lists, etc Don’t compromise the portability, if software to be used on other platforms Be aware of the rapid changes in technology –eg bandwidth vs rendering speed

What’s wrong with the standard graphics pipeline It processes every polygon therefore it does not scale According to the statistics, the size of the average 3D model grows more than the processing power

We can use several acceleration techniques which can be broadly put into 3 categories: 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

Constant frame rate The techniques above are not enough to assure it We need a system load management – it will try to achieve an image with the best quality possible given within the give frame time –if there is too much load on the system it will resolve to drastic actions (eg drop objects) –it’s an NP complete problem

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

Visibility Culling Avoid rendering polygons or objects not contributing to the final image 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)

Visibility Culling

Visibility methods Exact methods –Compute all the polygons which are at least partially visible but only those Approximate methods –Compute most of the visible polygons and possibly some of the hidden ones Conservative methods –Compute all visible polygons plus maybe some hidden ones

View volume culling Assuming the scene is stored into some sort of spatial subdivision We already saw many earlier in the course, some examples: –hierarchical bounding volumes / spheres –octrees / k-d trees / BSP trees –regular grid

View volume culling Compare the scene hierarchically against the view volume When a region is found to be outside the view volume then all objects inside it can be safely discarded If a region is fully inside then render without clipping What is the difference with clipping?

View volume culling against a bounding volume hierarchy

View volume culling against a space partitioning hierarchy

View volume culling Easy to implement A very fast computation Very effective result Therefore it is included in almost all current rendering systems

Back-face culling Simplest version is to do it per polygon –just test the normal of each polygon against the direction of view (eg dot product) More efficient methods operate on clusters of polygons –group polygons using the direction of their normals, make a table –compare the view direction against the entries in this table

Occlusion culling By far the most complex (and interesting) of the three, both in terms of algorithmic complexity and in terms of implementation This is because it depends on the inter-relation of the objects Many different algorithms have been proposed, each one is better for different types of models What’s the difference with HRS