<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Material_Reference</id>
	<title>Material Reference - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.splashdamage.com/index.php?action=history&amp;feed=atom&amp;title=Material_Reference"/>
	<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Material_Reference&amp;action=history"/>
	<updated>2026-04-08T11:33:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.splashdamage.com/index.php?title=Material_Reference&amp;diff=3868&amp;oldid=prev</id>
		<title>MoP: moved this to a new page to stop the material page being so bloody huge</title>
		<link rel="alternate" type="text/html" href="https://wiki.splashdamage.com/index.php?title=Material_Reference&amp;diff=3868&amp;oldid=prev"/>
		<updated>2007-12-04T15:07:35Z</updated>

		<summary type="html">&lt;p&gt;moved this to a new page to stop the material page being so bloody huge&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is a reference of all material keywords and parameters.&lt;br /&gt;
&lt;br /&gt;
== Parameters Key ==&lt;br /&gt;
These are all the parameters which can be passed to material functions and values.&lt;br /&gt;
{| style=&amp;quot;border: 1px solid #AAAAAA;&amp;quot; width=&amp;quot;100%&amp;quot; &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | &amp;lt;float&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Any number.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | &amp;lt;int&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | An integer - any number without a fractional part.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | &amp;lt;string&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Any value enclosed in quotes.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | &amp;lt;index&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | An integer number that is an index into an array.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | &amp;lt;map&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | An image map, which may include image programs (below).&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | &amp;lt;prog&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | A vertex / frament program. Written using the GL ARB shader language. These files are stored in the ''glprogs'' directory.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #F0F0F0;&amp;quot; | &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | An expression that is evaluated every frame.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Keywords for Regular Materials ==&lt;br /&gt;
{| style=&amp;quot;border: 1px solid #AAAAAA;&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | qer_editorimage &amp;lt;map&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Image to display in the editor&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | description &amp;lt;string&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Just a simple description for people using this material&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | polygonOffset&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | [float] offset the depth buffer to combat z-fighting&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | noShadows&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Don't cast shadows&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | noSelfShadow&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | This material doesn't cast shadows on the model it's on (but it does on other models)&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | forceShadows&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Allows nodraw surfaces to cast shadows&lt;br /&gt;
|-  &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | noOverlays&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Overlay / Decal suppression&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | forceOverlays&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Force decal overlays for alpha tested or translucent surfaces&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | translucent&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | The engine thinks this is a translucent material (which means no ambient/zfill pass will be done for this material)&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | forceOpaque&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Opposite forces the engine to think this is a nontranslucent material.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | twoSided&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Draw the front and back. Implies no-shadows, because the shadow volume would be coplanar with the surface, giving depth fighting.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | backSided&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Draw only the back. This also implies no-shadows.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | mirror&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Use to make mirrors&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | noFog&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Don't fog this surface&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | guisurf &amp;lt;guifile&amp;gt;&lt;br /&gt;
guisurf entity[2|3]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | This surface has a gui on it. Use &amp;quot;somegui.gui&amp;quot; to specify the gui, or entity, entity2, entity3, etc for the level designer to set it in Radiant.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | sort &amp;lt;type&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Type is one of: subview, opaque, decal, far, medium, close, almostNearest, nearest, postProcess&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | spectrum &amp;lt;int&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Spectrums are used for &amp;quot;invisible writing&amp;quot; that can only be illuminated by a light of matching spectrum &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | deform &amp;lt;type&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Type is one of: sprite, tube, flare, expand, move, turbulent, eyeBall, particle, particle2&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | decalInfo &amp;lt;staySeconds&amp;gt;&lt;br /&gt;
&amp;lt;fadeSeconds&amp;gt; [start rgb] [end rgb]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Used in decal materials to set how long the decal stays, and how it fades out.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | renderbump &amp;lt;args...&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | [[RenderBump]] command options, without &amp;quot;renderbump&amp;quot; at the start&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | diffusemap &amp;lt;map&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | shortcut for&lt;br /&gt;
 {  &lt;br /&gt;
    blend diffusemap&lt;br /&gt;
    map &amp;lt;map&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | specularmap &amp;lt;map&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | shortcut for &lt;br /&gt;
 {  &lt;br /&gt;
    blend specularmap  &lt;br /&gt;
    map &amp;lt;map&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | bumpmap &amp;lt;map&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | shortcut for &lt;br /&gt;
 {&lt;br /&gt;
    blend bumpmap&lt;br /&gt;
    map &amp;lt;map&amp;gt;&lt;br /&gt;
 }&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #F0F0F0;&amp;quot; | DECAL_MACRO&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | shortcut for &lt;br /&gt;
 polygonOffset 1&lt;br /&gt;
 discrete&lt;br /&gt;
 sort decal&lt;br /&gt;
 noShadows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Keywords for Light Materials ==&lt;br /&gt;
{| style=&amp;quot;border: 1px solid #AAAAAA;&amp;quot; width=&amp;quot;100%&amp;quot; &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | noShadows&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | This light doesn't cast shadows.&lt;br /&gt;
|- &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | forceShadows&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | fog, blend, and ambient lights don't cast shadows by default. This forces them to cast shadows.&lt;br /&gt;
|- &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | noPortalFog&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | This fog volume won't ever consider a portal fogged out.&lt;br /&gt;
|- &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | fogLight&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Option to fill with fog from viewer instead of light from center.&lt;br /&gt;
|-  &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | blendLight&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Perform simple blending of the projection, instead of interacting with bumps and textures.&lt;br /&gt;
|- &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | ambientLight&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | An ambient light has non-directional bump mapping and no specular.&lt;br /&gt;
|-  &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #F0F0F0;&amp;quot; | lightFalloffImage &amp;lt;map&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | specifies the image to use for the third axis of projected light volumes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Global Surface Parameters ==&lt;br /&gt;
{| style=&amp;quot;border: 1px solid #AAAAAA;&amp;quot; width=&amp;quot;100%&amp;quot; &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | surfacetype &amp;quot;&amp;lt;stp&amp;gt;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Sets a surface type for particles and sound effects, where &amp;lt;stp&amp;gt; is one of the [[Surface Types|valid surface types]].&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | solid&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | may need to override a clearSolid &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | water&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | used for water&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | playerclip&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | solid to players&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | monsterclip&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | solid to monsters&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | moveableclip&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | solid to moveable entities&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | ikclip&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | solid to IK&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | blood&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | used to detect blood decals&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | trigger&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | used for triggers&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | aassolid&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | solid for AAS&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | aasobstacle&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | used to compile an obstacle into AAS that can be enabled/disabled&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | flashlight_trigger&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | used for triggers that are activated by the flashlight&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | nonsolid&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | clears the solid flag&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | nullNormal&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | renderbump will draw as 0x80 0x80 0x80, which won't collect light from any angle&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | areaportal&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | divides areas&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | qer_nocarve&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | don't cut brushes in editor&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | discrete&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | surfaces should not be automatically merged together or clipped to the world, because they represent discrete objects like gui shaders mirrors, or autosprites&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | noFragment&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | dmap won't cut surface at each bsp boundary&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | collision&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | collision surface. if a model has no collision surfaces, then all surfaces are considered collision surfaces&lt;br /&gt;
|- &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | noimpact&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | don't make impact explosions or marks&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | nodamage&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | no falling damage when hitting&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | ladder&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | player can climb up this surface&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #F0F0F0;&amp;quot; | nosteps&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | No footstep sounds.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Stage Keywords =&lt;br /&gt;
blend &amp;lt;type&amp;gt;&lt;br /&gt;
blend &amp;lt;src&amp;gt;, &amp;lt;dst&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Blend types: Type Src Dst &lt;br /&gt;
 blend gl_src_alpha gl_one_minus_src_alpha &lt;br /&gt;
 add gl_one gl_one &lt;br /&gt;
 filter gl_dst_color gl_zero &lt;br /&gt;
 modulate gl_dst_color gl_zero &lt;br /&gt;
 none gl_zero gl_one &lt;br /&gt;
 bumpmap Normal map &lt;br /&gt;
 diffusemap Diffuse map &lt;br /&gt;
 specularmap Specular map &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Source blend modes: gl_one Constant 1 &lt;br /&gt;
 gl_zero Constant 0 &lt;br /&gt;
 gl_dst_color The color currently on the screen &lt;br /&gt;
 gl_one_minus_dst_color One minus the color currently on the screen &lt;br /&gt;
 gl_src_alpha The alpha channel of the source image &lt;br /&gt;
 gl_one_minus_src_alpha One minus the alpha channel of the source image &lt;br /&gt;
 gl_dst_alpha The alpha channel of the screen image &lt;br /&gt;
 gl_one_minus_dst_alpha One minus the alpha channel of the screen image &lt;br /&gt;
 gl_src_alpha_saturate Minimum of the source alpha and one minus screen alpha &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Destination blend modes: gl_one Constant 1 &lt;br /&gt;
 gl_zero Constant 0 &lt;br /&gt;
 gl_src_color The color of the source image &lt;br /&gt;
 gl_one_minus_src_color One minus the color of the source image &lt;br /&gt;
 gl_src_alpha The alpha channel of the source image &lt;br /&gt;
 gl_one_minus_src_alpha One minus the alpha channel of the source image &lt;br /&gt;
 gl_dst_alpha The alpha channel of the screen image &lt;br /&gt;
 gl_one_minus_dst_alpha One minus the alpha channel of the screen image &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px solid #AAAAAA;&amp;quot; width=&amp;quot;100%&amp;quot; &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | map &amp;lt;map&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | The image program to use for this stage.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | remoteRenderMap &amp;lt;int&amp;gt; &amp;lt;int&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Width and Height of the buffer to render a remote image in to (for cameras). The entity this material is applied to has to support remote render views.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | mirrorRenderMap &amp;lt;int&amp;gt; &amp;lt;int&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Width and Height of the buffer to render a mirror in to. This of course makes this stage a mirror stage, which is different from using the 'mirror' global keyword because that makes the entire material a mirror, rather than just one stage.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | videomap [loop] &amp;lt;file&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | This stage uses a video stream as an image map.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | soundmap [waveform]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | This stage uses a sound meter from the sound system as an image map. Specify 'waveform' to get a scope rather than bars.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | cubeMap &amp;lt;map&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | This stage uses a cube map as the image map. Looks for _px, _py, _pz, _nx, _ny, _nz for the positive x, y, z, and negative x, y, z sides.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | cameraCubeMap &amp;lt;map&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | This stage uses a cube map in camera space. Looks for _forward, _back, _left, _right, _up, and _down.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | ignoreAlphaTest&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Always use DEPTHFUNC_LEQUAL rather than DEPTHFUNC_EQUAL which is normally used for opaque and alpha tested surfaces.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | nearest&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Use nearest texture filtering.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | linear&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Use linear texture filtering.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | clamp&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Same as the global keywords. Use to override a global clamp for a specific stage.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | zeroclamp&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | &lt;br /&gt;
|- &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | alphazeroclamp&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | noclamp&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Use to set texture repeat for a stage when global clamp is set.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | uncompressed&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Do not compress this image in medium quality mode.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | highquality &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | forceHighQuality&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Do not compress this image in low quality mode.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | nopicmip&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Ignore the image_downSize cvar.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | vertexColor&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Multiply the pixel color by the vertex color.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | inverseVertexColor&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Multiply the pixel color by one minus the vertex color.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | privatePolygonOffset &amp;lt;float&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Explicit larger (or negative) polygon offset for this stage.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | texGen &amp;lt;type&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Type is one of: normal, reflect, skybox, wobbleSky &amp;lt;exp&amp;gt; &amp;lt;exp&amp;gt; &amp;lt;exp&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | scroll &amp;lt;exp&amp;gt;, &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Scroll the texture coordinates.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | translate &amp;lt;exp&amp;gt;, &amp;lt;exp&amp;gt; &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | scale &amp;lt;exp&amp;gt;, &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Just scales without a centering.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | centerScale &amp;lt;exp&amp;gt;, &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Subtracts 0.5, then scales, then adds 0.5.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | shear &amp;lt;exp&amp;gt;, &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Subtracts 0.5, then shears, then adds 0.5.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | rotate &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Subtracts 0.5, then rotates, then adds 0.5.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | maskRed&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Don't write to the red channel.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | maskGreen&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Don't write to the blue channel.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | maskBlue&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Don't write to the green channel.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | maskAlpha&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Don't write to the alpha channel.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | maskColor&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Shortcut for&lt;br /&gt;
 maskRed&lt;br /&gt;
 maskGreen&lt;br /&gt;
 maskBlue &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | maskDepth&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Don't write to the depth buffer.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | alphaTest &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Only write if the alpha value is greater than &amp;lt;exp&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | red &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Set the red vertex color.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | green &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Set the green vertex color.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | blue &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Set the blue vertex color.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | alpha &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Set the alpha vertex value.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | rgb &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Shortcut for&lt;br /&gt;
 red &amp;lt;exp&amp;gt;&lt;br /&gt;
 green &amp;lt;exp&amp;gt;&lt;br /&gt;
 blue &amp;lt;exp&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | rgba &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Shortcut for&lt;br /&gt;
 red &amp;lt;exp&amp;gt;&lt;br /&gt;
 green &amp;lt;exp&amp;gt;&lt;br /&gt;
 blue &amp;lt;exp&amp;gt;&lt;br /&gt;
 alpha &amp;lt;exp&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | color &amp;lt;exp0&amp;gt;, &amp;lt;exp1&amp;gt;, &amp;lt;exp2&amp;gt;, &amp;lt;exp3&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Shortcut for &lt;br /&gt;
 red exp0&lt;br /&gt;
 green exp1&lt;br /&gt;
 blue exp2&lt;br /&gt;
 alpha exp3 &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | colored&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Shortcut for &lt;br /&gt;
 color parm0, parm1, parm2, parm3 &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | if &amp;lt;exp&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Conditionally disable stages.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | fragmentProgram &amp;lt;prog&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Use an ARB fragment program with this stage.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | vertexProgram &amp;lt;prog&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Use an ARB vertex program with this stage.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | program &amp;lt;prog&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Shortcut for &lt;br /&gt;
 fragmentProgram &amp;lt;prog&amp;gt;&lt;br /&gt;
 vertexProgram &amp;lt;prog&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | vertexParm &amp;lt;index&amp;gt; &amp;lt;exp0&amp;gt; [,exp1] [,exp2] [,exp3]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Values to pass to the vertex program. One expression gets repeated across all 4 values. Two expressions put 0, 1 in z, w. Three expressions put 1 in w. &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | fragmentMap &amp;lt;index&amp;gt; [options] &amp;lt;map&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | The image map to use for texture unit &amp;lt;index&amp;gt;. [options] can be cubeMap, cameraCubeMap, nearest, linear, clamp, noclamp, zeroclamp, alphazeroclamp, forceHighQuality, uncompressed, highquality, or nopicmip.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #F0F0F0;&amp;quot; | megaTexture &amp;lt;mega&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | This stage uses a MegaTexture.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Image Program Functions ==&lt;br /&gt;
These can be used anywhere that accepts &amp;lt;map&amp;gt;, and can be nested.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px solid #AAAAAA;&amp;quot; width=&amp;quot;100%&amp;quot; &lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | heightmap(&amp;lt;map&amp;gt;, &amp;lt;float&amp;gt;)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Turns a grayscale height map into a normal map. &amp;lt;float&amp;gt; determines how &amp;quot;deep&amp;quot; the bump map appears.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | addnormals(&amp;lt;map&amp;gt;, &amp;lt;map&amp;gt;)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Adds two normal maps together. Result is normalized. &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | smoothnormals(&amp;lt;map&amp;gt;)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Does a box filter on the normal map, and normalizes the result.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | add(&amp;lt;map&amp;gt;, &amp;lt;map&amp;gt;)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Adds two images without normalizing the result.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | scale(&amp;lt;map&amp;gt;, &amp;lt;float&amp;gt; [,float] [,float] [,float])&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Scales the RGBA by the specified factors. Defaults to 0. &lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | invertAlpha(&amp;lt;map&amp;gt;)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Inverts the alpha channel (0 becomes 1, 1 becomes 0).&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | invertColor(&amp;lt;map&amp;gt;)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Inverts the R, G, and B channels.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA; background: #F0F0F0;&amp;quot; | makeIntensity(&amp;lt;map&amp;gt;)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;border-bottom: 1px solid #AAAAAA;&amp;quot; | Copies the red channel to the G, B, and A channels.&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #F0F0F0;&amp;quot; | makeAlpha(&amp;lt;map&amp;gt;)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | Sets the alpha channel to an average of the RGB channels. Sets the RGB channels to white.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>MoP</name></author>
		
	</entry>
</feed>