VRAD: Difference between revisions
TomEdwards (talk | contribs) |
TomEdwards (talk | contribs) |
||
Line 17: | Line 17: | ||
Use these in combination with [[expert compile mode]] or a batch file: | Use these in combination with [[expert compile mode]] or a batch file: | ||
=== Effects === | |||
;<code>-both</code> | |||
:Compiles lightmaps for both Low Dynamic Range and [[HDR|High Dynamic Range]] lighting models. Causes the compiler to run twice. | |||
;<code>-ldr</code> | |||
:Compile only LDR lightmaps. | |||
;<code>-hdr</code> | |||
:Compile only HDR lightmaps. | |||
;<code>-fast</code> | |||
: Quick and dirty lighting. Has been known to leave dark lines around displacements. | |||
;<code>-final</code> | |||
: Increases the quality of [[light_environment]] and indirect lighting by spending more time firing rays. | |||
;<code>-lights <file></code> | ;<code>-lights <file></code> | ||
:Load a custom [[#Lights_files|lights file]] in addition to <code>lights.rad</code> and map-specific lights file. The file specified must be <code>filename.rad</code>. | :Load a custom [[#Lights_files|lights file]] in addition to <code>lights.rad</code> and map-specific lights file. The file specified must be <code><filename>.rad</code>. | ||
;<code>-bounce #</code> | |||
: Set the maximum number of light ray bounces (default: 10). | |||
;<code>-smooth #</code> | ;<code>-smooth #</code> | ||
:Set the threshold for smoothing | :Set the threshold for [[smoothing group]]s, in degrees (default: 45). | ||
;<code>-luxeldensity #</code> | ;<code>-luxeldensity #</code> | ||
:Rescale all luxels by the specified amount (default: 1.0). Must not exceed 1. | :Rescale all luxels by the specified amount (default: 1.0). Must not exceed 1. | ||
Line 69: | Line 40: | ||
: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. | :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. | ||
;<code>-StaticPropLighting</code> | ;<code>-StaticPropLighting</code> | ||
:Generate per-vertex | :Generate per-vertex <code>[[prop_static]]</code> lighting. Now seems to be permanently enabled; disable it per-object with KVs. | ||
;{{ep2 add|<code>-StaticPropPolys</code>}} | ;{{ep2 add|<code>-StaticPropPolys</code>}} | ||
:Perform shadow tests of | :Perform shadow tests of <code>prop_static</code>s at polygon precision. ''('''Very''' processor-intensive - default is to use collision models.)'' | ||
;{{ep2 add|<code>-TextureShadows</code>}} | ;{{ep2 add|<code>-TextureShadows</code>}} | ||
:Generates shadows from | :Generates lightmap shadows from [[$translucent]] surfaces of models specified in lights.rad (see below) and used with prop_static. Usually requires <code>-StaticPropPolys</code> to have any effect. | ||
=== Performance === | |||
;<code>-low</code> | |||
:Run as an low-priority process. Allows you to use your computer for other things during compiles. | |||
;<code>-threads</code> | ;<code>-threads</code> | ||
:Control the number of threads used (defaults to the number of processors on your machine, doubled for CPUs with hyperthreading). | :Control the number of threads used (defaults to the number of processors on your machine, doubled for CPUs with hyperthreading). | ||
;<code>-mpi</code> | ;<code>-mpi</code> | ||
:Use [[VMPI]] to distribute computations. | :Use [[Vmpi|VMPI]] to distribute computations. | ||
;<code>-mpi_pw <pw></code> | ;<code>-mpi_pw <pw></code> | ||
:Use a password to choose a specific set of VMPI workers. | :Use a password to choose a specific set of VMPI workers. | ||
Line 86: | Line 59: | ||
:Disable supersampling. | :Disable supersampling. | ||
;<code>-chop</code> | ;<code>-chop</code> | ||
:Smallest number of luxel widths for a bounce patch, used on edges. | :Smallest number of [[luxel]] widths for a bounce patch, used on edges. | ||
;<code>-maxchop</code> | ;<code>-maxchop</code> | ||
:Coarsest allowed number of luxel widths for a patch, used in face interiors. | :Coarsest allowed number of luxel widths for a patch, used in face interiors. | ||
Line 92: | Line 65: | ||
: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. | :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. | ||
;<code>-compressconstant <n></code> | ;<code>-compressconstant <n></code> | ||
:Compress | :Compress [[lightmap]]s whose color variation is less than n units. | ||
=== Debugging === | |||
;<code>-rederror</code> | |||
:Emit bright red light from error locations? | |||
;<code>-vproject <directory></code> | |||
;<code>-game <directory></code> | |||
:Override the VPROJECT environment variable. | |||
;<code>v</code> | |||
;<code>-verbose</code> | |||
: Turn on verbose output. | |||
;<code>-novconfig</code> | ;<code>-novconfig</code> | ||
:Don't bring up graphical UI on vproject errors. | :Don't bring up graphical UI on vproject errors. |
Revision as of 04:14, 17 September 2008
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).
Speed
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. But beware, changing its priority will reduce the amount of resources available to the system itself and may cause freezes until the end of the process!
Options
Use these in combination with expert compile mode or a batch file:
Effects
-both
- Compiles lightmaps for both Low Dynamic Range and High Dynamic Range lighting models. Causes the compiler to run twice.
-ldr
- Compile only LDR lightmaps.
-hdr
- Compile only HDR lightmaps.
-fast
- Quick and dirty lighting. Has been known to leave dark lines around displacements.
-final
- Increases the quality of light_environment and indirect lighting by spending more time firing rays.
-lights <file>
- Load a custom lights file in addition to
lights.rad
and map-specific lights file. The file specified must be<filename>.rad
. -bounce #
- Set the maximum number of light ray bounces (default: 10).
-smooth #
- Set the threshold for smoothing groups, in degrees (default: 45).
-luxeldensity #
- Rescale all luxels by the specified amount (default: 1.0). Must not exceed 1.
-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.
-StaticPropLighting
- Generate per-vertex
prop_static
lighting. Now seems to be permanently enabled; disable it per-object with KVs. - Template:Ep2 add
- Perform shadow tests of
prop_static
s at polygon precision. (Very processor-intensive - default is to use collision models.) - Template:Ep2 add
- Generates lightmap shadows from $translucent surfaces of models specified in lights.rad (see below) and used with prop_static. Usually requires
-StaticPropPolys
to have any effect.
Performance
-low
- Run as an low-priority process. Allows you to use your computer for other things during compiles.
-threads
- Control the number of threads used (defaults to the number of processors on your machine, doubled for CPUs with hyperthreading).
-mpi
- Use VMPI to distribute computations.
-mpi_pw <pw>
- Use a password to choose a specific set of VMPI workers.
-noextra
- Disable supersampling.
-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.
Debugging
-rederror
- Emit bright red light from error locations?
-vproject <directory>
-game <directory>
- Override the VPROJECT environment variable.
v
-verbose
- Turn on verbose output.
-novconfig
- Don't bring up graphical UI on vproject errors.
-dump
- Write debugging .txt files.
-dumpnormals
- Write normals to debug files.
-debugextra
- Places debugging data in lightmaps to visualize supersampling.
-dlightmap
- Force direct lighting into different lightmap than radiosity.
-stoponexit
- Wait for a keypress on exit.
-nodetaillight
- Don't light detail props.
-centersamples
- Move sample centers.
-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).
-FullMinidump
- Write large minidumps on crash.
-OnlyStaticProps
- Only perform direct static prop lighting (vrad debug option)
-StaticPropNormals
- When lighting static props, just show their normal vector
Lights files
A lights file contains rules for glowing textures and model and material shadowing control. The lights file, usually with a .rad extension, must be placed in your game directory for Vrad to find it. It is a plain text file with one rule per line.
Rule | Explanation |
---|---|
noshadow materials/name | Forces the named material to cast no shadows. |
forcetextureshadow models/name.mdl | Forces shadows for the given model to take into account any alpha textures. |
materials/name red green blue intensity | The named material will give off light of the given colour and intensity. |
materials/name red green blue intensity hdr_red hdr_green hdr_blue hdr_intensity | The named material will give off light of the given colour and intensity, with separate LDR and HDR settings. |
ldr: | prefix to make any rule only apply to LDR lighting. |
hdr: | prefix to make any rule only apply to HDR lighting. |