Visibility in games
Sponsored Links
This presentation is the property of its rightful owner.
1 / 18

Visibility in Games PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

Visibility in Games. Harald Riegler. Visibility in Games. What do we need it for? Increase of rendering speed by removing unseen scene data from the rendering pipeline as early as possible Reduction of data transfers to the graphics hardware

Download Presentation

Visibility in Games

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Visibility in games

Visibility in Games

Harald Riegler

Visibility in games1

Visibility in Games

  • What do we need it for?

    • Increase of rendering speed by removing unseen scene data from the rendering pipeline as early as possible

    • Reduction of data transfers to the graphics hardware

    • Current games would not be possible without visibility calculations

Visibility methods

Visibility methods

  • 2 very different categories:

    • Visibility from a region (Portals, PVS)

      • (Quake, Unreal, Severance and co.)

    • Visibility from a point (Z-Buffer, BFC,...)

      • Racing games, outdoor scenes, sports games etc.

  • We will focus on Point-Visibility here

Traditional methods

Traditional methods

  • Traditionally used:

    • Back-Face culling

    • Z-Buffering

    • View frustum culling (Quad or Octtree)

  • New methods are slowly breaking into games

New scientific methods

New scientific methods

  • Image-space occlusion culling

    • Hierarchical Z-Buffering

    • Hierarchical Occlusion Maps

  • Object-space occlusion culling

    • Hierarchical View Frustum culling

    • Hierarchical Back-Face culling

  • More methods in the paper

Hierarchical z buffer

Hierarchical Z-Buffer

  • Z-Buffer is arranged in an image pyramid

  • Scene is partitioned in an oct-tree

  • Oct-tree nodes are tested against the Z-Pyramid where pixels have the same size

  • Visible nodes serve as input for the next frame

  • Relies on HW visibility query

Hzb hierarchical occlusion maps

HZB/Hierarchical occlusion maps

Hierarchical occlusion maps

Hierarchical occlusion maps

  • Potential occluders are pre-selected

  • These occluders are rendered to the occlusion map. The hierarchy can be built with MIP-Mapping HW

  • Depth test after occlusion test

  • Seperate depth estimation buffer

Hierarchical view frustum culling

Hierarchical View Frustum Culling

  • Speeds up VFC by testing only 2 box corners of a bounding box first.

  • Plane coherency during frame advancing

  • Test against VF-octants.

  • BB-Child masking

Hierarchical back face culling

Hierarchical Back-Face Culling

  • Partitions each model into clusters

  • Primitives in one cluster are:

    • Facing into similar directions

    • Lie close to each other

  • If the cluster fails the visibility test, all primitives in this cluster are culled

Hierarchical back face culling1

Hierarchical Back-Face Culling

The real world 1

The Real World (1)

  • Scientific approaches often too complicated

  • Science often uses models with hundreds of thousands of vertices, games don’t. (LOD)

  • Game developers “pick” ideas from different algorithms

  • Research has impact on hardware design!

The real world 2

The Real World (2)

  • Parts of the HZB are used sometimes

  • Runtime-LOD is used as input for a simple HZB

  • VFC is almost always used.

  • HOM introduce too much overhead for games, and the z-buffer is there anyway

  • A simplified HBFC can be used

The real world 3

The Real World (3)

  • PSX-One doesn’t even have a z-buffer

  • ATI’s Radeon has parts of a HZB (Called Hyper-Z)

  • GForce2 only has a z-buffer

  • GForce3 similar to Radeon, but supports HZB visibility query

  • Dreamcasts Power-VR2 works pretty different (Infinite planes)

A psx example

A PSX Example

  • Iron Soldier 3 on PSX:

    • VFC based on a quad-tree

    • BFC

    • Painters algorithm

Conclusions 1

Conclusions (1)

  • Visibility algorithms are used in many different applications

    • Occlusion culling

    • Shadow calculations

    • Radiosity

    • Volumetric lights

  • All these fields benefit from advances in visibility techniques

Conclusion 2

Conclusion (2)

  • Occlusion culling will gain importance

  • More OC will be implemented in hardware

  • Discrepancies between science and gaming industry will alway exist due to different goals

Hope you enjoyed the ride

Hope you enjoyed the ride!

  • Login