From Valve Developer Community
Revision as of 03:59, 27 January 2008 by DAV (talk | contribs) (Speed)
Jump to: navigation, search

An optional compiling tool provided with the Hammer editor, that calculates the lighting of a map. It gives parts of the level, called patches, a certain amount of brightness depending on how much light it would receive. If VRAD is not used, the level will be lit in fullbright mode (no lighting).


This is the generally the slowest of the three compile stages due to the many, many calculations it must perform. Map optimization can reduce the speed of this tool somewhat, especially reducing the number of unique names given to lights (which reduces the number of dynamic light combinations for which radiosity must be calculated).

If you are watching the compile dialog and it looks like it has hung at 9... this is usually because Vrad takes longer with each light bounce calculation. Be patient.

To speed up VRAD, Win NT/2k/XP/2k3 users can open "Windows Task Manager" (<Ctrl>+<Shift>+<Esc> or <Ctrl>+<Alt>+<Del> on Windows XP or newer) and set the priority of "vrad.exe" higher, although changing the priority of any task may cause system instability!


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

Common options

  • -v (or -verbose): Turn on verbose output.
  • -bounce # : Set max number of bounces (default: 10).
  • -fast : Quick and dirty lighting. (Has been known to leave dark lines around displacments)
  • -both : Compiles lightmaps for both Low Dynamic Range and High Dynamic Range lighting models. (Cycles twice)
  • -final : Increases the quality of skylight and indirect light by spending more CPU time firing rays.
  • -ldr : Compiles only LDR lightmaps.
  • -hdr : Compiles only HDR lightmaps.
  • -low : Run as an idle-priority process.
  • -rederror : Show errors in red.
  • -vproject <directory> : Override the VPROJECT environment variable.
  • -game <directory> : Same as -vproject.

Other options

  • -novconfig : Don't bring up graphical UI on vproject errors.
  • -dump : Write debugging .txt files.
  • -dumpnormals : Write normals to debug files.
  • -threads : Control the number of threads vbsp uses (defaults to the number of processors on your machine, doubled for CPUs with hyperthreading).
  • -lights <file> : Load a lights file in addition to lights.rad and the level lights file.
  • -mpi : Use VMPI to distribute computations.
  • -noextra : Disable supersampling.
  • -debugextra : Places debugging data in lightmaps to visualize supersampling.
  • -smooth # : Set the threshold for smoothing groups, in degrees (default: 45).
  • -dlightmap : Force direct lighting into different lightmap than radiosity.
  • -stoponexit : Wait for a keypress on exit.
  • -mpi_pw <pw> : Use a password to choose a specific set of VMPI workers.
  • -nodetaillight : Don't light detail props.
  • -centersamples : Move sample centers.
  • -luxeldensity # : Rescale all luxels by the specified amount (default: 1.0). Must not exceed 1.
  • -loghash : Log the sample hash table to samplehash.txt.
  • -onlydetail : Only light detail props and per-leaf lighting.
  • -maxdispsamplesize #: Set max displacement sample size (default: 512).
  • -softsun <n>  : Treat the sun as an area light source of size <n> degrees. Produces soft shadows. Recommended values are between 0 and 5. Default is 0.
  • -FullMinidumps  : Write large minidumps on crash.
  • -chop  : Smallest number of luxel widths for a bounce patch, used on edges.
  • -maxchop  : Coarsest allowed number of luxel widths for a patch, used in face interiors.
  • -LargeDispSampleRadius: This can be used if there are splotches of bounced light on terrain. The compile will take longer, but it will gather light across a wider area.
  • -compressconstant <n> : compress lightmaps whose color variation is less than n units.
  • -StaticPropLighting  : generate backed static prop vertex lighting
  • -StaticPropPolys  : Perform shadow tests of static props at polygon precision
(Very processor-intensive - default is to use collision models for shadows.)
  • -OnlyStaticProps  : Only perform direct static prop lighting (vrad debug option)
  • -StaticPropNormals : when lighting static props, just show their normal vector

See also