1 / 18

Real-time Graphics for VR

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)

geoff
Télécharger la présentation

Real-time Graphics for VR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Real-time Graphics for VR Chapter 23

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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)

  10. Visibility Culling

  11. 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

  12. 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

  13. 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?

  14. View volume culling against a bounding volume hierarchy

  15. View volume culling against a space partitioning hierarchy

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

  17. 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

  18. 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

More Related