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.

Similar presentations

Presentation on theme: "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."— Presentation transcript:

2
2 / 18 Visibility in Games n What do we need it for? u Increase of rendering speed by removing unseen scene data from the rendering pipeline as early as possible u Reduction of data transfers to the graphics hardware u Current games would not be possible without visibility calculations

6
Harald Riegler 6 / 18 Hierarchical Z-Buffer n Z-Buffer is arranged in an image pyramid n Scene is partitioned in an oct-tree n Oct-tree nodes are tested against the Z- Pyramid where pixels have the same size n Visible nodes serve as input for the next frame n Relies on HW visibility query

10
Harald Riegler 10 / 18 Hierarchical Back-Face Culling n Partitions each model into clusters n Primitives in one cluster are: u Facing into similar directions u Lie close to each other n If the cluster fails the visibility test, all primitives in this cluster are culled

12
Harald Riegler 12 / 18 The Real World (1) n Scientific approaches often too complicated n Science often uses models with hundreds of thousands of vertices, games don’t. (LOD) n Game developers “pick” ideas from different algorithms n Research has impact on hardware design!

13
Harald Riegler 13 / 18 The Real World (2) n Parts of the HZB are used sometimes n Runtime-LOD is used as input for a simple HZB n VFC is almost always used. n HOM introduce too much overhead for games, and the z-buffer is there anyway n A simplified HBFC can be used

14
Harald Riegler 14 / 18 The Real World (3) n PSX-One doesn’t even have a z-buffer n ATI’s Radeon has parts of a HZB (Called Hyper-Z) n GForce2 only has a z-buffer n GForce3 similar to Radeon, but supports HZB visibility query n Dreamcasts Power-VR2 works pretty different (Infinite planes)