List of shaderParm variables: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
(→‎List of shaderParms: Added warning about MD5 parm8 glitch)
Line 83: Line 83:
|0..360
|0..360
|Used by the clock hand decals to mimic time-keeping
|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
|run-time by script



Revision as of 15:36, 6 November 2017

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