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

Difference between revisions of "QBSP"

From Quake Wiki

m (subheading)
Line 2: Line 2:
 
'''QBSP''' is the first stage of [[Map_compiling|map compiling]]. It is the process that reads the [[Quake file formats|map file]] and generates the [[Quake file formats|bsp file]], and in doing so calculates all of the geometry and collision data for the level. It also extracts any needed textures from the associated [[Quake file formats|wad file]] (or files) and repackages them into the bsp file. After this step, the level can be loaded into the game engine. However, it will not have any lighting or visibility data until you run [[Light (map compiling)|Light]] and [[Vis]].
 
'''QBSP''' is the first stage of [[Map_compiling|map compiling]]. It is the process that reads the [[Quake file formats|map file]] and generates the [[Quake file formats|bsp file]], and in doing so calculates all of the geometry and collision data for the level. It also extracts any needed textures from the associated [[Quake file formats|wad file]] (or files) and repackages them into the bsp file. After this step, the level can be loaded into the game engine. However, it will not have any lighting or visibility data until you run [[Light (map compiling)|Light]] and [[Vis]].
  
==How QBSP Does==   
+
==How QBSP Does It==   
 
Using the [[Brush|brushes]] from the map file's [[worldspawn]] entity, it calculates the [[bsp tree]] that stores all visible surfaces in the game.  It also generates the [[collision hull|collision hulls]], which are also bsp trees but do not have any visible surfaces, and are only used for collision detection.  For each additional [[Entity|entity]] that has brushes, it generates a [[submodel]] which also has its own collision hulls. Any textures needed by the level are copied into the bsp file from the associated wad files. At runtime, the engine will load textures from the bsp, not the wad files.
 
Using the [[Brush|brushes]] from the map file's [[worldspawn]] entity, it calculates the [[bsp tree]] that stores all visible surfaces in the game.  It also generates the [[collision hull|collision hulls]], which are also bsp trees but do not have any visible surfaces, and are only used for collision detection.  For each additional [[Entity|entity]] that has brushes, it generates a [[submodel]] which also has its own collision hulls. Any textures needed by the level are copied into the bsp file from the associated wad files. At runtime, the engine will load textures from the bsp, not the wad files.
  

Revision as of 21:35, 16 June 2018

What QBSP Does

QBSP is the first stage of map compiling. It is the process that reads the map file and generates the bsp file, and in doing so calculates all of the geometry and collision data for the level. It also extracts any needed textures from the associated wad file (or files) and repackages them into the bsp file. After this step, the level can be loaded into the game engine. However, it will not have any lighting or visibility data until you run Light and Vis.

How QBSP Does It

Using the brushes from the map file's worldspawn entity, it calculates the bsp tree that stores all visible surfaces in the game. It also generates the collision hulls, which are also bsp trees but do not have any visible surfaces, and are only used for collision detection. For each additional entity that has brushes, it generates a submodel which also has its own collision hulls. Any textures needed by the level are copied into the bsp file from the associated wad files. At runtime, the engine will load textures from the bsp, not the wad files.

QBSP also generates a prt file containing the portal information necessary for Vis to run. The prt file is not needed or used by the game engine. If a map has a leak, QBSP will generate a pointfile instead of a prt file. This file can be used by the game engine to display a visual trail of particles showing you where the leak is. If a map has multiple leaks, QBSP will only find the first one.

Using QBSP

QBSP is a command-line tool, generally named qbsp.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

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

TODO

Updated Versions

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