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