Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!

Difference between revisions of "Vis"

From Quake Wiki

(New page: '''Vis''' is one of the stages of map compiling. It calculates visibility (or PVS) data for a bsp file previously generated by QBSP. With PVS data, the engine need only dr...)
 
m (subheading)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Vis''' is one of the stages of [[map compiling]].  It calculates visibility (or [[PVS]]) data for a [[bsp file]] previously generated by [[QBSP]]. With PVS data, the engine need only draw those parts of the level (and those entities) that might be visible from the current player location. This performance optimization was necessary to allow levels as large and as complex as Quake's on the computers of the day. And even today, most games use equivalent systems to allow levels, props, and NPCs to be as detailed as possible.  
+
==What Vis Does==
 +
'''Vis''' is one of the stages of [[map compiling]].  It calculates visibility (or [[PVS]]) data for a [[Quake file formats|bsp file]] previously generated by [[QBSP]]. With PVS data, the engine need only draw those parts of the level (and those entities) that might be visible from the current player location. This performance optimization was necessary to allow levels as large and as complex as Quake's on the computers of the day. And even today, most games use equivalent systems to allow levels, props, and NPCs to be as detailed as possible.  
  
==What Vis Does==   
+
==How Vis Does It==   
Vis uses the [[portal|portals]] from the [[prt file]] generated by [[QBSP]] to calculate visibility.  For each [[visleaf]], it calculates which other visleafs are potentially visible from any point within that visleaf.  It does this using the portal data, as each visleaf can only see into other visleafs by looking through one or more portals.  The final data, which is a series of bits representing whether or not each pair of visleafs can see each other, is then compressed down and saved in the bsp file.
+
Vis uses the [[portal|portals]] from the [[Quake file formats|prt file]] generated by [[QBSP]] to calculate visibility.  For each [[visleaf]], it calculates which other visleafs are potentially visible from any point within that visleaf.  It does this using the portal data, as each visleaf can only see into other visleafs by looking through one or more portals.  The final data, which is a series of bits representing whether or not each pair of visleafs can see each other, is then compressed down and saved in the bsp file.
  
 
In addition, there are four hard-coded ambient sounds in Quake; one each for [[sky]], [[water]], [[slime]], and [[lava]].  Using the PVS data, Vis calculates the appropriate volume level for each of these ambient sounds based on the proximity and visibility of nearby sky and liquid surfaces.
 
In addition, there are four hard-coded ambient sounds in Quake; one each for [[sky]], [[water]], [[slime]], and [[lava]].  Using the PVS data, Vis calculates the appropriate volume level for each of these ambient sounds based on the proximity and visibility of nearby sky and liquid surfaces.
Line 10: Line 11:
  
 
===Command-line options===
 
===Command-line options===
TODO
+
 
 +
This is for you if you're struggling finding out how to use the command line tools from tyrutils on linux due to lack of information and guides out there. The only ones I've even read about are focused on the windows GUI version with the three tools in one package. You can find QBSP, Light and Vis already compiled for you in the bin folder.
 +
 
 +
To find out any of their options, just execute them in the terminal.
 +
 
 +
"./qsbp"
 +
"./vis"
 +
"./light"
 +
 
 +
These will echo out a bunch of options for you to choose from. Works just like the windows version, you convert the .map with QSBP first and then light. You only need Vis for debugging and larger levels so if you're starting out, don't worry about it for now.
 +
 
 +
Sorry for lack of explanation, I covered it as briefly as I could and it's not at all that difficult.
  
 
===Error Messages and Warnings===
 
===Error Messages and Warnings===

Latest revision as of 21:34, 16 June 2018

What Vis Does[edit]

Vis is one of the stages of map compiling. It calculates visibility (or PVS) data for a bsp file previously generated by QBSP. With PVS data, the engine need only draw those parts of the level (and those entities) that might be visible from the current player location. This performance optimization was necessary to allow levels as large and as complex as Quake's on the computers of the day. And even today, most games use equivalent systems to allow levels, props, and NPCs to be as detailed as possible.

How Vis Does It[edit]

Vis uses the portals from the prt file generated by QBSP to calculate visibility. For each visleaf, it calculates which other visleafs are potentially visible from any point within that visleaf. It does this using the portal data, as each visleaf can only see into other visleafs by looking through one or more portals. The final data, which is a series of bits representing whether or not each pair of visleafs can see each other, is then compressed down and saved in the bsp file.

In addition, there are four hard-coded ambient sounds in Quake; one each for sky, water, slime, and lava. Using the PVS data, Vis calculates the appropriate volume level for each of these ambient sounds based on the proximity and visibility of nearby sky and liquid surfaces.

Using Vis[edit]

Vis is a command-line tool, generally named vis.exe. You can invoke it from a command prompt, via a shortcut or batch file, or from the "compile" or "build" menus of some level editors.

Command-line options[edit]

This is for you if you're struggling finding out how to use the command line tools from tyrutils on linux due to lack of information and guides out there. The only ones I've even read about are focused on the windows GUI version with the three tools in one package. You can find QBSP, Light and Vis already compiled for you in the bin folder.

To find out any of their options, just execute them in the terminal.

"./qsbp" "./vis" "./light"

These will echo out a bunch of options for you to choose from. Works just like the windows version, you convert the .map with QSBP first and then light. You only need Vis for debugging and larger levels so if you're starting out, don't worry about it for now.

Sorry for lack of explanation, I covered it as briefly as I could and it's not at all that difficult.

Error Messages and Warnings[edit]

TODO

Updated Versions[edit]

In addition to id Software's official Vis, there have been various unofficial versions that improve on the original or add additional features. For a list of Vis variants, see mapping tools.