VVIS: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
An optional [[command-line]] tool that compiles [[leaf]] visibility and portals on your map. It determines the what must be rendered in a certain area (the [[PVS]]), allowing the game to ignore parts of the map, speeding up rendering.
{{toc-right}}


{{note|If this process is taking too long, be sure to read up on [[Controlling Geometry Visibility and Compile Times]] on how to reduce [[visleafs]] using [[func_detail]]s. Even large maps can have Vis times reduced to a minute or two depending on your optimizations.}}
'''VVIS''' is the [[command-line]] tool that takes a compiled BSP map and embeds visibility data into it. VVIS tests which [[visleaf|visleaves]] can see each other, and which cannot. See [[Visibility optimization]] for a more detailed explanation.


VVIS may be run in "fast" mode or omitted entirely to reduce the compiling time of a level. This is useful if you wish to take a quick look at how your level is. Note that no leaf-based optimizations will be in place when run on "fast" or not at all. This means the entire level will be rendered on both of these modes. To insure a properly optimized level, always run VVIS on "Normal" mode for releases or distributed builds.
VVIS will:
 
* Test visibility between [[visleaf|visleaves]]
* Enforce a maximum visibility distance, if configured to
 
== Syntax ==
 
vvis [options...] <bsp file>
 
For example:
 
"%sourcesdk%\bin\orangebox\bin\vvis" -tmpout sdk_trainstation_01
 
This will generate and embed a visibility chart, writing portal data out to <code>.\tmp\sdk_trainstation_01.prt</code>.


==Options==
==Options==
Line 9: Line 22:
Use these in combination with [[expert compile mode]] or a batch file:
Use these in combination with [[expert compile mode]] or a batch file:


=Common options=
=== Functions ===
{| class=standard-table
 
! Command || Description
; <code>-fast</code>
|-
: Only do a quick first pass. Does not actually test visibility.
| -v (or -verbose) || Turn on verbose output (also shows more command)
; <code>-radius_override <[[int]]></code>
|-
: Force a maximum vis radius, in [[unit]]s, regardless of whether an [[env_fog_controller]] specifies one.
| -fast || Only do first quick pass on vis calculations.
; <code>-nosort</code>
|-
: Don't sort (an optimization) portals.
| -mpi || Use VMPI to distribute computations.
; <code>-tmpin</code>
|-
: Read portals from <code>\tmp\<mapname></code>.
| -low || Run as an idle-priority process.
; <code>-tmpout</code>
|-
: Write portals to <code>\tmp\<mapname></code>.
| -vproject (or -game) <directory> || Override the VPROJECT environment variable.
 
|}
=== General ===
==Other options==
 
{| class=standard-table
; <code>-low</code>
! Command || Description
: Run as an idle-priority process.
|-
; <code>-threads</code>
| -novconfig || Don't bring up graphical UI on vproject errors.
: Control the number of threads used. Defaults to the number available on the system.
|-
; <code>-v</code>
| -radius_override || Force a vis radius, regardless of whether an env_fog_controller specifies one.
; <code>-verbose</code>
|-
: Turn on verbose output
| -mpi_pw <pw> || Use a password to choose a specific set of VMPI workers.
; <code>-novconfig</code>
|-
: Don't bring up graphical UI on vproject errors.
| -threads || Control the number of threads vbsp uses (defaults to the # of processors (times 2 for hyperthreading CPU's) on your machine).
; <code>-mpi</code>
|-
: Use [[VMPI]] to distribute computations.
| -nosort || Don't sort portals (sorting is an optimization).
; <code>-mpi_pw <[[string]]></code>
|-
: Use a password to choose a specific set of VMPI workers.
| -tmpin || Make portals come from \tmp\<mapname>.
; <code>-vproject <string></code>
|-
; <code>-game <string></code>
| -tmpout || Make portals come from \tmp\<mapname>.
: Override the [[VPROJECT]] environment variable.
|}
 
=See Also=
== See Also ==
 
* [[Visibility optimization]]
* [[VBSP]]
* [[VBSP]]
* [[VRAD]]
* [[VRAD]]
[[Category:Tools]] [[Category:Level Design]] [[Category:Glossary]]
 
[[Category:Tools]]
[[Category:Level Design]]
[[Category:Glossary]]

Revision as of 04:36, 4 January 2010

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

VVIS will:

  • Test visibility between visleaves
  • Enforce a maximum visibility distance, if configured to

Syntax

vvis [options...] <bsp file>

For example:

"%sourcesdk%\bin\orangebox\bin\vvis" -tmpout sdk_trainstation_01

This will generate and embed a visibility chart, writing portal data out to .\tmp\sdk_trainstation_01.prt.

Options

Use these in combination with expert compile mode or a batch file:

Functions

-fast
Only do a quick first pass. Does not actually test visibility.
-radius_override <int>
Force a maximum vis radius, in units, regardless of whether an env_fog_controller specifies one.
-nosort
Don't sort (an optimization) portals.
-tmpin
Read portals from \tmp\<mapname>.
-tmpout
Write portals to \tmp\<mapname>.

General

-low
Run as an idle-priority process.
-threads
Control the number of threads used. Defaults to the number available on the system.
-v
-verbose
Turn on verbose output
-novconfig
Don't bring up graphical UI on vproject errors.
-mpi
Use VMPI to distribute computations.
-mpi_pw <string>
Use a password to choose a specific set of VMPI workers.
-vproject <string>
-game <string>
Override the VPROJECT environment variable.

See Also