Visleaf: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
m (Unicodifying, replaced: [[Image: → [[File: (2))
Line 1: Line 1:
{{lang|Visleaf}}
{{lang|Visleaf}}
[[Image:Opt_pvs_blank.jpg|thumb|A sample scene with two rooms.]]
[[File:Opt_pvs_blank.jpg|thumb|A sample scene with two rooms.]]


[[Image:Opt_pvs_good.jpg|thumb|The default visleaf structure for the above scene. Note how leaf 2 cannot see leaf 3.]]
[[File:Opt_pvs_good.jpg|thumb|The default visleaf structure for the above scene. Note how leaf 2 cannot see leaf 3.]]


{{Distinguish|VisGroup}}
{{Distinguish|VisGroup}}
Line 20: Line 20:
{{tip|For even more clarity use auto [[visgroup]]s to remove objects from your map that don't block visibility – i.e. everything but "World Geometry".}}
{{tip|For even more clarity use auto [[visgroup]]s to remove objects from your map that don't block visibility – i.e. everything but "World Geometry".}}


* From the [[Developer Console]], the [[console variable]] [[mat_leafvis]] can be used. (<code>mat_leafvis 3</code> will display all visleaves in the [[PVS]].)
* From the [[Developer Console]], the [[console variable]] [[mat leafvis]] can be used. (<code>mat_leafvis 3</code> will display all visleaves in the [[PVS]].)


{{note|Do not confuse visleaves with the squares outlining worldbrush geography seen if you use <code>[[mat_wireframe]] 3</code>.}}
{{note|Do not confuse visleaves with the squares outlining worldbrush geography seen if you use <code>[[mat_wireframe]] 3</code>.}}

Revision as of 15:07, 7 January 2024

English (en)Deutsch (de)Русский (ru)中文 (zh)Translate (Translate)
A sample scene with two rooms.
The default visleaf structure for the above scene. Note how leaf 2 cannot see leaf 3.
Not to be confused with VisGroup.

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. visleaves 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.

Visleaves 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.

Examination

There are three ways to inspect visleaves:

  • From the Orange Box version of Hammer, the leaves of the current map can be viewed directly in the 3D view through the menu option Map > Load Portal File. This displays leaf edges that touch other edges as thick blue lines.
  • From the desktop, the glview tool application (located in the common\[game]\bin folder) can be used.
Tip.pngTip:For even more clarity use auto visgroups to remove objects from your map that don't block visibility – i.e. everything but "World Geometry".
Note.pngNote:Do not confuse visleaves with the squares outlining worldbrush geography seen if you use mat_wireframe 3.
  • From 3ds Max using Wall Worm, the leaves of the current map can be viewed directly in the 3D view through the menu option Wall Worm > Wall Worm Level Design > Wall Worm Map Compile Tools > Load PRT File. This displays leaf edges that touch other edges as thick yellow lines. You can select a line (portal) that will allow you to select or flash the leaves on either side. You can also find more portal and leaf options in the Go To Brush floater.

See also