Difference between revisions of "Visleaf"

From Valve Developer Community
Jump to: navigation, search
m
m (cleanup)
Line 3: Line 3:
 
[[Image:Opt_pvs_good.jpg|thumb|The default visleaf structure for the above scene. Note how leaf 2 cannot see leaf 3.]]
 
[[Image:Opt_pvs_good.jpg|thumb|The default visleaf structure for the above scene. Note how leaf 2 cannot see leaf 3.]]
  
A '''visleaf''' or a '''leaf''' is a volume in a map generated from the [[BSP|BSP tree]] by the [[vvis|VVIS]] compile tool. Visleafs are used primarily by the Rendering Engine (for each rendered frame) to determine which areas of the map might need to be rendered on screen. When ''any part'' of a visleaf is visible from ''any part'' of the current visleaf, ''the entire contents of that leaf are considered for rendering''.
+
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 [[PVS|potentially visible]] from ''any part'' of the current visleaf, the entire contents of that visleaf are considered for rendering.  
  
The [[ConVar|console variable]] "'''<code>[[mat_leafvis]] 1</code>'''" draws a red wireframe box around the Player's current visleaf, which is redrawn each time a new leaf is entered.
+
Visleafs are generated automatically from the [[BSP|BSP tree]] by the [[vvis|VVIS]] compile tool. Each (internal) surface of a visleaf is either a [[World brush]] surface or a ''Portal'' to an adjacent visleaf.  
  
Leaves can also be examined from the desktop with the [[glview]] tool.
+
The [[ConVar|console variable]] "'''<code>[[mat_leafvis]] 1</code>'''" 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==
 
==See also==
 
*[[PVS]] (Potentially Visible Set) is a localised 'cluster' of visleafs used as a filter in visibility tests.
 
*[[PVS]] (Potentially Visible Set) is a localised 'cluster' of visleafs used as a filter in visibility tests.
 
*[[PAS]] (Potentially Audible Set)
 
*[[PAS]] (Potentially Audible Set)
 +
*[[Leaks]] are gaps in the BSP geometry which prevent a visleaf from being properly sealed.
  
 
*Visleaf generation:  
 
*Visleaf generation:  

Revision as of 17:19, 13 May 2008

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.