Q3Map Keywords

You need to add the keyword “q3map_terrain” to your common/terrain & common/terrain2

Note: common/caulk should not be surfaceparm trans, even though it's nodraw.

q3map_backshader

(shadername) Shadername is the path/shadername of the shader or texture to be used at the back side of the surface.

q3map_backsplash

(percentage) (distance) (pjw helped)

A surface light is also lit by itself, using back splash point lights with a lower intensity. The percentage parameter specifies the intensity percentage they use from the q3map_surfacelight parameter. The distance parameter controls the distance of these back splash lights from the surface. You can set the percentage to zero, or a negative value, to disable the backsplash lights.

q3map_bounce

(N.N) (1.0 = default) (in the range of 0-1)

Use a number between 0 and 1.0, (or higher), to scale the amount of light reflected in radiosity passes. You can oversaturate it by using a number higher than 1.0, but this can lead to excessive compile times. Using 90 would probably make things positively glacial. 1.0 is just a default, fudged number that looked ok with the maps that were tested. Tweaking it to 1.5 or 2.0 won't hurt anything, per se, but it does give you finer control over how each shader re-emits light.

q3map_cloneshader

[notes] This is used in furshading.

q3map_extrashader

[notes] This is used in furshading.

q3map_fadealpha

(N) [notes] This is used in furshading.

q3map_flare

(shadername) Creates a flare using the specified shader at the center of a surface.

q3map_forcemeta

Probably forces the meta process on a per shader basis.

q3map_forcesunlight

By default, no sunlight is cast on vertex-lit .md3 models or vertex-lit terrain. Using this option, sunlight, (aka overbright bits created by the q3map_sun option), will be cast on these surfaces.

q3map_fur

[notes] This is used in furshading.

q3map_globaltexture

When this option is set, the texture is not aligned to the world. ( used whenever tcMod scale is used (jer) )

(aligned to the world....)

q3map_indexed

This instructs Q3Map to look at the ent's _indexmap key, for an image to pull index values from, and then to construct a shader name with a root of “_shader” key.

q3map_invert

This is used in celshading. Probably inverts something.

q3map_lightimage

(image) This specifies the image to be used for the light_color_value of a surface light, instead of the image(s) used by the shader. The color is averaged from the texture. The texture must be the same size as the base image map.

q3map_lightmapsamplesize

(N) Surfaces using a shader with this option will have the pixelsize of the lightmaps set to (NxN). This option can be used to produce high-resolution shadows on certain surfaces. In addition, it can be used to reduce the size of lightmap data, where high-resolution shadows are not required.

q3map_lightmapaxis

(L) Lightmapaxis takes one argument: either x, y or z. The keyword q3map_terrain has an implicit (read default) q3map_lightmapaxis defined as z

q3map_lightsubdivide

(N) For the actual lighting of the world, a surface light is subdivided into many smaller point lights. q3map_lightsubdivide controls the distance, in game units, between those point lights. The default value is 120. (thx Gef)

q3map_noclip

You might have noticed that terrain has been made to not clip or t-junction anymore. It was causing too many issues, so a new parameter was added: “q3map_noclip”. Normally, Q3Map clips all faces to the bsp, and then takes the minimum polygon that encompasses all visible fragments. q3map_noclip forces Q3Map to use the original brush faces. (This is implicit for autosprite (2) surfaces) Therefore, if you map tidy, you could theoretically use q3map_noclip on all your shaders. q3map_noclip and q3map_notjunc, when used in combination, will preserve mesh geometry exactly as you make it.

q3map_nofast

When used on surfaces that emit light, this will disable -fast optimizations. This is useful for large areas of dim sky, where you want the dim light to reach all surfaces. This shader keyword prevents fast from affecting dim sky surfaces. It is necessary, if you can't do a workaround with brighter skies or by using a larger q3map_lightsubdivide value. Other methods of surfacelight calculation are currently being investigated. For instance, beam trees.

q3map_nonplanar

This option instructs Q3Map to merge any adjacent triangles into a non-planar triangle soup.

q3map_notjunc

With this option, surfaces modified by a shader are not used for t-junction fixing. q3map_noclip and q3map_notjunc, used in combination, will preserve mesh geometry exactly as you make it.

q3map_novertexshadows

Shaders that are used on misc_models or terrain can now use q3map_novertexshadows to disable shadows being cast on the vertex lit surfaces. Casting shadows at small, misc_model objects often makes sense. However, having shadows on large, vertex lit terrain surfaces often looks bad. Shadows are not cast on forced_vertex_lit surfaces by default. (shaders with “pointlight”).

q3map_offset

(N.N) This is used in celshading. Probably offsets something.

q3map_patchshadows

When this option is used in conjunction with the original lighting algorithm , (-light), surfaces with textures modified by this option will show shadows that are cast by curve patches. Under normal circumstances, curve patches do not cast shadows.

q3map_replicate

[notes] This is used in furshading.

q3map_shadeangle

(angleº) (degreesº) Specifies the breaking angle for phong shading.

q3map_sun

(red) (green) (blue) (intensity) (degrees) (elevation)

Color will be normalized, so it doesn't matter what range you use. The intensity falls off with angle but not distance. A value of 100 is a fairly bright sun.

degrees:            0º = east.                      90º = north.

elevation:          0º = sunrise/sunset.       90º = noon.

q3map_surfacelight

(value) Sets the amount of light a surface emits (see q3map_backsplash).

q3map_tcGen

q3map_tcGen ivector ( 256 0 0 ) ( 0 256 0 ) will project the texture every 256 units in x, and every 256 units in y, along the z-axis. Ivector means inverse vector, and this means you don't have to do the divide with windows calc. :)

ivector ( 256 0 0 ) ( 0 256 0 ) == vector ( 1/256 0 0 ) ( 0 1/256 0 )

inverse = 1.0 / n, unless the value is 0. If the value is 0, then the matrix value is set to 0. A bit of dodgy math, but it works.

q3map_terrain

Your terrain shaders (typically textures/common/terrain and terrain2) must have the “q3map_terrain” keyword. Terrain is handled completely differently from previous versions. Q3Map no longer looks for the word “terrain” in a shader name to determine whether or not it's an indexed shader. It looks for q3map_indexed, or q3map_terrain, which then sets off a bunch of stuff to emulate TA terrain. Terrain is just a subset of “indexed” shaders, which get their values from the “_indexmap” image. With a bunch of default stuff shoehorned into it, like: the lightmap axis, texture projection, etc…

 

By default, q3map_terrain sets the following:

q3map_tcGen ivector ( 32 0 0 ) ( 0 32 0 )

q3map_lightmapaxis z

q3map_nonplanar

q3map_shadeangle 180 // maybe 175?

q3map_indexed

q3map_texturesize

[x] [y] q3map_texturesize is really only useful as a substitute for q3map_tcGen.

q3map_tracelight

Surfaces using a shader with this option will always be lit with the original light algorithm. Patches will not cast shadows on this surface, unless the shader option q3map_patchshadows is also used.

q3map_vertexscale

(scale) The light value, at the vertices of a surface using a shader with this option, is multiplied by the scale value. This is a way to lighten, or darken, a vertex_lit surface, in comparison to other lightmap_lit surfaces around it.

q3map_vertexshadows

By default, no shadows are cast on vertex_lit_surfaces (see surfaceparm pointlight). In addition, when running Quake3 Arena in vertex light, no shadows are cast upon any surface at all, since shadows are a part of the lightmap. When using this shader_keyword, shadows *will* be cast on surfaces that are vertex lit. However, sharp shadow edges won't be seen on the surfaces, since lightvalues are only calculated at the vertices.

q3map_vlight

vlight doesn't work in Q3Map2.0

Surfaces modified by a shader with this option will always be lit with the “-vlight” algorithm when Q3Map is used with the options “-vlight” and “-tracelight”.

surfaceparm pointlight

Surfaces using a shader with this parameter will always be vertex lit. This option can be used to reduce the lightmap data. It is often used on surfaces that don't need shadows.

surfaceparm dust

If a player lands (jumps onto) on a surface that uses a shader with this parameter, a puff of dust will appear at the player’s feet.

    Note1: the worldspawn entity of that map must have an enabledust key set to a value of 1.

    Note2: this surfaceflag has been replaced by “surfaceparm woodsteps” in RTCW.