From Valve Developer Community
Revision as of 17:19, 13 May 2008 by Beeswax (talk | contribs) (cleanup)

Jump to: navigation, search
A sample scene with two rooms.
The default visleaf structure for the above scene. Note how leaf 2 cannot see leaf 3.

Each visleaf (sometimes referred to simply as a leaf) is a hollow volume in a map which defines a 'cluster' of visible surfaces. Every visible surface of a map is part of one visleaf or another. Visleafs are used primarily by the Rendering Engine to determine (before rendering each frame) which areas of the map might need to be rendered on screen. When any part of a visleaf is potentially visible from any part of the current visleaf, the entire contents of that visleaf are considered for rendering.

Visleafs are generated automatically from the BSP tree by the VVIS compile tool. Each (internal) surface of a visleaf is either a World brush surface or a Portal to an adjacent visleaf.

The console variable "mat_leafvis 1" draws a red wireframe box around the Player's current visleaf, which is redrawn each time a new visleaf is entered. Visleafs can also be examined from the desktop with the glview tool.

See also

  • PVS (Potentially Visible Set) is a localised 'cluster' of visleafs used as a filter in visibility tests.
  • PAS (Potentially Audible Set)
  • Leaks are gaps in the BSP geometry which prevent a visleaf from being properly sealed.