VVIS or Valve Visible Information Set is the command-line tool that takes a compiled BSP map and embeds visibility data into it. VVIS tests which visleaves can see each other, and which cannot. See Visibility optimization for a more detailed explanation.
- Test visibility between visleaves by clipping their view planes.
- Enforce a maximum visibility distance, if configured to.
vvis [options...] <bsp file>
"Half-Life 2\bin\vvis.exe" -tmpout sdk_trainstation_01
This will generate and embed a visibility chart, writing portal data out to
Use these in combination with expert compile mode or a batch file:
- Only do a quick first pass. Does not actually test visibility.
- Force a maximum vis radius, in units, regardless of whether an env_fog_controller specifies one.
- Don't sort (an optimization) portals.
- Read portals from
- Write portals to
- Run as an idle-priority process.
- Control the number of threads used. Defaults to the # of processors (times 2 for Hypertreading/SMT CPU's) on your machine. Maximum is 16 threads. With a patched vvis_dll you can reach 32 threads.
- Turn on verbose output
- Don't bring up graphical UI on vproject errors.
- Use VMPI to distribute computations.
- Use a password to choose a specific set of VMPI workers.
- Override the VPROJECT environment variable.
VVIS prints various information about the compile process to the console. Note that output from older versions of the tool can be different.
- The effective number of visleaves in the map (visleaves clustered together with func_viscluster count as one).
- The number of portals connecting the the above visleaves.
BasePortalVis: 0...1...2...3...4...5...6...7...8...9...10 (time taken in seconds)
- Rough visibility calculations that are used to trivially weed out unseen areas from the final calculations.
PortalFlow: 0...1...2...3...4...5...6...7...8...9...10 (time taken in seconds)
- Runs the actual visibility algorithm to determine which visleaves can see each other. Not run with
Optimized: number visible clusters (percentage)
- Compression of the visibility data.
Total clusters visible: number
- The total number of occurrences of visleaves being able to see each other in the calculated data.
Average clusters visible: number
- The average number of leaves you can potentially see from each visleaf.
- Calculates the Potentially Audible Set.
Average clusters audible: number
- The average number of leaves you can potentially hear into from each visleaf.
visdatasize: number compressed from number
- Size of the visibility data in bytes. Max size is 16 MB in Source 2013.