]> git.xonotic.org Git - xonotic/xonotic.wiki.git/blob - Complete-list-of-shader-keywords.md
Update Compiling: add libtool dependency
[xonotic/xonotic.wiki.git] / Complete-list-of-shader-keywords.md
1 Complete list of shader keywords
2 ================================
3
4 Note: You can append a `:q3map` suffix to a shader name to make q3map2 use the shader but the engine ignore it.
5
6 Note: This list does not contain all possible shader keywords, but just those that q3map2 uses for anything. More keywords are likely to be supported by your engine. Check the documentation or the source code of your engine on this.
7
8 Inside shader stages
9 --------------------
10
11 -   **`map` texture:** loads a texture and displays it repeating
12 -   **`clampMap` texture:** loads a texture and displays it non-repeating
13 -   **`animMap` fps texture texture...:** loads an animation and displays it repeating
14 -   **`clampAnimMap` fps texture texture...:** loads an animation and displays it non-repeating
15 -   **`mapComp` texture:** ?
16 -   **`mapNoComp` texture:**?
17
18 In the shader preamble:
19 -----------------------
20
21 -   **`cull none`, `cull disable`, `cull twosided`:** treat the surface as two sided for lighting
22 -   **`damageShader` shadername:** sets the given shader as damage shader (for SoF2 mods)
23 -   **`fogparms` ...:** marks the brush as a fog volume; otherwise handled by the engine
24 -   **`implicitBlend`:** ?
25 -   **`implicitMap`:**?
26 -   **`implicitMask`:** ?
27 -   **`light` shadername:** sets the given shader as flare shader
28 -   **`polygonoffset`:** enable polygon offset
29 -   **`q3map_backShader` shadername:** sets the given shader as shader for back faces
30 -   **`q3map_backsplash` percent distance:** configures light backsplash (self-surfacelight)
31 -   **`q3map_baseShader` shadername:** inherit parameters from a shader
32 -   **`q3map_bounce` F, `q3map_bounceScale` F:** scales the intensity of radiosity
33 -   **`q3map_clipmodel`:**?
34 -   **`q3map_cloneShader` shadername:** ?
35 -   **`q3map_colorGen`:** FIXME later
36 -   **`q3map_deprecateShader` shadername:**?
37 -   **`q3map_flare` shadername, `q3map_flareShader` shadername:** sets the given shader as flare shader
38 -   **`q3map_floodLight` r g b dist intensity power:** overrides the global floodlight parameters
39 -   **`q3map_fogDir` ( x y z ):** sets the direction a fog shader fades from transparent to opaque
40 -   **`q3map_foliage` path scale density odds invertalpha:** ?
41 -   **`q3map_forceMeta`:** forces brush faces and/or triangle models to go through the metasurface pipeline
42 -   **`q3map_forceSunlight`:**?
43 -   **`q3map_fur` layers offset fade:** ?
44 -   **`q3map_globaltexture`:**?
45 -   **`q3map_indexed`:** ?
46 -   **`q3map_invert`:** inverts the direction from which the face is visible
47 -   **`q3map_lightRGB` r g b:** overrides the light color of the texture
48 -   **`q3map_lightStyle` N:** sets the light style (SoF2, JK2)
49 -   **`q3map_lightSubdivide` N:** subdivision interval for `q3map_surfacelight`
50 -   **`q3map_lightmapAxis` axis:** sets the lightmap axis to one of `x`, `y`, `z` (useful for terrain)
51 -   **`q3map_lightmapBrightness` F, `q3map_lightmapGamma` F:** overrides lightmap brightness
52 -   **`q3map_lightmapFilterRadius` self other:**?
53 -   **`q3map_lightmapMergable`:** allows merging the lightmap with other surfaces on another plane
54 -   **`q3map_lightmapSampleOffset` F:** multiplies samplesize by a factor
55 -   **`q3map_lightmapSampleSize` N:** overrides samplesize
56 -   **`q3map_lightmapSize` N:** overrides the lightmap size (forces an external lightmap for this surface)
57 -   **`q3map_material` materialname:** ?
58 -   **`q3map_noFast`:** disable `-fast` style lighting for this surface
59 -   **`q3map_noVertexLight`:** turns off vertex lighting for this surface
60 -   **`q3map_noVertexShadows`:**?
61 -   **`q3map_noclip`:** do not clip the surface by the BSP tree
62 -   **`q3map_nofog`:** ?
63 -   **`q3map_nonplanar`:** marks the surface as nonplanar for meta surface merging
64 -   **`q3map_notjunc`:** do not do t-junction elimination
65 -   **`q3map_offset` F:**?
66 -   **`q3map_onlyVertexLighting`:** same as using `surfaceparm pointlight`
67 -   **`q3map_patchShadows`:** force shadowing from patches using this shader
68 -   **`q3map_remapShader` shadername:** ?
69 -   **`q3map_shadeAngle` F:** sets the shading angle for nonplanar surfaces
70 -   **`q3map_skyLight` value iterations:** sets the amount of sky light from this surface
71 -   **`q3map_splotchfix`:**?
72 -   **`q3map_styleMarker2`:** ?
73 -   **`q3map_styleMarker`:**?
74 -   **`q3map_sunext` r g b intensity degrees elevation deviance samples:** sets an unsharp sun for the map
75 -   **`q3map_sun` r g b intensity degrees elevation, `sun` r g b intensity degrees elevation:** sets a sharp sun for the map
76 -   **`q3map_surfacelight` F:** sets the amount of surface light from this surface
77 -   **`q3map_surfacemodel` path density minscale maxscale minangle maxangle oriented:** randomly place models on the surface
78 -   **`q3map_tcGen ivector` ( sx sy sz ) ( tx ty tz ):** same as `q3map_tcGen vector` but with inverted values
79 -   **`q3map_tcGen vector` ( sx sy sz ) ( tx ty tz ):** overrides texcoords based on world coordinates (for terrain)
80 -   **`q3map_tcMod rotate` a:** rotates the texture
81 -   **`q3map_tcMod scale` s t:** multiplies texcoords by factors
82 -   **`q3map_tcMod translate` s t:** translates texcoords by a vector
83 -   **`q3map_terrain`:** ?
84 -   **`q3map_textureSize` width height:** overrides the texture size for texcoords
85 -   **`q3map_vertexScale` F:** scales vertex lighting amount by a factor
86 -   **`q3map_vertexShadows`:**?
87 -   **`qer_editorImage` texture:** sets the texture to show for radiant
88 -   **`qer_lightImage` texture:** sets the image to take the light color from
89 -   **`qer_normalImage` texture:** sets the normal map for bump mapping
90 -   **`skyparms` outerimage cloudheight innerimage:** loads a skybox
91 -   **`surfaceparm` alphashadow:** use the alpha channel of the shader image as shadow mask
92 -   **`surfaceparm` areaportal:** ?
93 -   **`surfaceparm` botclip:**?
94 -   **`surfaceparm` clusterportal:** ?
95 -   **`surfaceparm` detail:** ignore this surface for vis
96 -   **`surfaceparm` donotenter:**?
97 -   **`surfaceparm` fog:** ???
98 -   **`surfaceparm` hint:** use this surface as a hint to generate BSP splits
99 -   **`surfaceparm` lava:** Stef hates this brush
100 -   **`surfaceparm` lightfilter:** use the color channel of the shader image as shadow mask
101 -   **`surfaceparm` monsterclip:** monsters can’t go through this brush, but shots can
102 -   **`surfaceparm` nodraw:** do not generate draw surfaces
103 -   **`surfaceparm` nodrop:** items can’t be dropped on this brush
104 -   **`surfaceparm` nolightmap, `surfaceparm` pointlight:** do not lightmap this surface
105 -   **`surfaceparm` nomarks:** this surface is stain free
106 -   **`surfaceparm` nonsolid:** do not make this surface solid
107 -   **`surfaceparm` origin:** the center of this brush shall be the origin of this brush model
108 -   **`surfaceparm` playerclip:** players can’t go through this brush, but shots can
109 -   **`surfaceparm` sky:** this surface shows the skybox
110 -   **`surfaceparm` slime:** this brush contains more poisonous stuff than dihydrogene monoxide
111 -   **`surfaceparm` structural:** use this surface for vis
112 -   **`surfaceparm` trans:** cast no shadows
113 -   **`surfaceparm` trigger:** this is a trigger brush (translucent and solid)
114 -   **`surfaceparm` water:** this brush contains dihydrogene monoxide
115 -   **`tessSize` F, `q3map_tessSize` F:** subdivides the polygons to ensure no parts are larger than the given size
116