Visleaf: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (cleanup)
m (→‎See also: removed two extra links to Visibility Optimization.)
Line 16: Line 16:
*Visleaf generation:  
*Visleaf generation:  
** [[vvis|VVIS]] compiler.
** [[vvis|VVIS]] compiler.
** [[Optimization (Geometry)#Visibility]] and
** [[Visibility determination]]
** [http://www.student.ru.nl/rvanhoorn/optimization.php?chapter=visleafs Ralph van Hoorn's excellent explanation of visleafs].
** [http://www.student.ru.nl/rvanhoorn/optimization.php?chapter=visleafs Ralph van Hoorn's excellent explanation of visleafs].


*Visleaf optimisation:  
*Visleaf optimisation:  
** [[BSP Map Optimization]]
** [[BSP Map Optimization]]
** [[Controlling Geometry Visibility and Compile Times]]  
** [[Controlling Geometry Visibility and Compile Times]] (aka Visibility Determination, Visibility Optimization, or Optimization (Geometry)#Visibility).
** [[Hint brush]]es
** [[Hint brush]]es



Revision as of 21:58, 9 June 2009

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.