List of shaderParm variables

From The DarkMod Wiki
Revision as of 15:36, 6 November 2017 by VanishedOne (talk | contribs) (→‎List of shaderParms: Added warning about MD5 parm8 glitch)
Jump to navigationJump to search

Variables named shaderParm0 to shaderParm11 influence the rendering of certain materials. They are either set once in the map editor for some specific entity, or at run-time by various scripts or the C++ code.

Inside material definitions, these can be accessed via parm0 ... parm11.

The parms are on a per-entity base, so you can f.i. influence the material (and thus color) of entities or the color of the light.

See also the list of global variables.

List of shaderParms

# Value Used by Type
0 0.00 to 1.00 Red value set by _color spawnarg in the editor

Damage overlay (tunnel vision): Time since the last damage, so when damage occurs, it can flash

once
run-time
1 0.00 to 1.00 Green value set by _color spawnarg in the editor once
2 0.00 to 1.00 Blue value set by _color spawnarg in the editor once
3 0.00 to 1.00 (or to X.yz)

Set by spawnarg shaderParm3 on the entity in the editor.

Materials: Alpha (transparency) value, eg, alphatest 0.8. Also used in some LOD materials as the alpha threshold. In this case the engine adjusts the value between 0 and 1.0 at runtime depending on distance to the player.

Foglights: Distance in units beyond which fog is completely opaque (so higher values make fog thinner.)

Damage overlay (tunnel vision): Alpha, based on player health

Light flicker: on flickering lights with a value 0 to 1 to vary the flicker offset so they don't all flicker in sync. Typically used on candles and oil lamps.

once
4 0 to 1 Light flicker: on flickering lights with a value 0 to 1 to vary the flicker offset so they don't all flicker in sync. Typically used on candles and oil lamps. ?
5 about 0.05 .. 0.5 Used by atdm:liquid_water entities to control the (translation) speed of the water waves. Default is 0.1. once
6 about 0.5 .. 3 Used by atdm:liquid_water entities to control the height of the vertex waves. Default is 1.5. once
7 0..1 (brightness)


0..1 (speed)

Used by the moonlight textures in textures/darkmod/sfx/

Also used by some tree entities to vary leaf movement speed, eg, for wind. See Trees and how to make custom ones

once
8 0..360 Used by the clock hand decals to mimic time-keeping

Warning: don't set shaderParm8 on anything with an MD5 model. (It seems to activate code that had a use at some point during Doom 3's development but is now glitched.)

run-time by script
9 ? ? ?
10 ? ? ?
11 0 or 1 non-zero when something is highlighted for frob. This is used by material definitions to make materials "light up" when entities are in the frob-highlight. run-time

See also