Additional map compiler features¶
The following features for use by mappers have been added in NetRadiant and thus are not documented elsewhere:
Structural surfaces in imported models¶
If you include a model into your map using the misc_model entity, you can reference a special shader textures/common/forcecaulk from your model. This shader has the following definition, which should be put in the common.shader file:
textures/common/forcecaulk
{
surfaceparm nodraw
surfaceparm nolightmap
surfaceparm nomarks
surfaceparm structural
}
As opposed to regular caulk, this caulk shader forces the surface it is contained in to be a structural one, and thus can cause BSP splits and visibility blocking.
It is not recommended to use surfaceparm structural on regular surfaces included with models, though.
Floodlighting¶

A very quick and dirty way to light a map is adding the following key to worldspawn:
"_floodlight" "240 240 255 1024 128"
The parameters work as follow: the first three numbers select the color of the lighting. The fourth number sets a distance to trace, and the last number sets the intensity of the floodlight.
This lighting is somewhat similar to -dirty, combined with use of the ambient key in worldspawn.
This feature was contributed by the Urban Terror team.
Lightmap exposure¶

The q3map2 light compile parameter -exposure changes the handling of overbright pixels to look more realistic. Try values like -exposure 200! The higher the value, the darker the result gets.
It is most interesting if you intentionally put colored lights of a far too high light value in your map.
This feature was contributed by the Urban Terror team.
dotProductScale¶
|
|
|
|
| dotProduct | dotProduct2 | dotProductScale | dotProduct2scale |
The following shader parameters are added for use with terrain blending:
q3map_alphagen dotProduct2scale ( X Y Z MIN MAX )
As with dotProduct2, X Y Z denote the normal on the plane to use for dotProduct terrain blending. The values MIN and MAX specify a range of squared cosine values, so that MIN is mapped to alpha value 0, MAX is mapped to alpha value 1, and everything in between is mapped linearily.
If you prefer working with angles, you can set MIN to the squared cosine of the most steep angle of the blending, and MAX to the squared cosine of the most flat angle of the blending. Example:
q3map_alphagen dotProduct2scale ( 0 0 1 0.250 0.933 )
will set alpha value 0 for anything steeper than 60 degrees, and alpha value 1 for anything more flat than 15 degrees.
The same extension to dotProduct is called dotProductScale. Note that the MIN and MAX values are not squared there. You get a different curve with the same min/max angles by writing:
q3map_alphagen dotProductScale ( 0 0 1 0.500 0.966 )
Minimum sample size¶
The compiler option -minsamplesize in the BSP stage enforces a given minimum
sample size, even if shaders or func_groups set a lightmap scale. This allows
higher quality compiles of existing maps that use these features without having
to create extraordinarily large amounts of lightmaps, especially when using
external lightmaps.
Converting to ASE prefabs¶
Use -convert -format ase -shadersasbitmap for this purpose. That way, the
created ASE files work as prefabs, and thus contain shader names, instead of
texture file names. In a model editor, however, these ASE files will not show
up with textures, as modelling software does not support Q3 shaders.
Zero-effort cel shading¶
If you already have a cel shader (in Nexuiz, cel/black_ink), you can compile
the map using it easily by adding the option -celshader cel/black_ink to the
BSP stage.
MiniMap generator¶

The specs of the minimap's texture mapping are:
- Let M be the rectangle of the world's mins/maxs coordinates.
- If
keepaspectis set: let S be the smallest square completely covering M whose center matches the one of M. Otherwise, let S be M. - Let S' be S scaled by factor
1/(1-2*border)around the center of S. - The "mins" corner of S' corresponds to the top left corner of the image.
- The "maxs" corner of S' corresponds to the bottom right corner of the image.