List Of Material Proxies

From Valve Developer Community
Revision as of 12:07, 3 June 2010 by DeathByNukes (talk | contribs) (That CSS columns hack was cutting long entries in half and generally making the page confusing. Come up with a more controllable/readable method or don't do it at all.)
Jump to: navigation, search

Calculation

Add
Adds two variables.
srcVar1
srcVar2
resultVar
Multiply
Multiplies two variables.
srcVar1
srcVar2
resultVar
Subtract
Subtracts the second variable from the first.
srcVar1
srcVar2
resultVar
Divide
Divides the first variable by the second.
srcVar1
srcVar2
resultVar
Equals
Copies the value of a variable to another.
srcVar1
resultVar
Abs
Computes the absolute (i.e. unsigned) value of a variable.
srcVar1
resultVar
Frac
Returns the fractional component of a variable.
Tip.png Tip: frac(4.23) = .23
srcVar1
resultVar
Clamp
Keeps a variable within a specified range.
min
max
srcVar1
resultVar
srcVar1 and resultVar can be the same.
LessOrEqual
Compares the first value to the second.
lessEqualVar
greaterVar
Variable to copy to resultVar if this condition is met.
srcVar1
srcVar2
resultVar


Number generation

Sine
A sine wave.
sineperiod
Period between wave peaks, in seconds.
sinemin
sinemax
Values at the top and bottom of the wave
timeoffset
Used to offset the starting position of the wave
resultVar
LinearRamp
An ever-increasing float value.
rate
Units per
Confirm:second
.
initialValue
resultVar
CurrentTime
The number of seconds the current map has been running on the server for.
resultVar
Exponential
A value that changes at a faster and faster rate.
srcVar1
The exponent with which to calculate
offset
Offset for exponent
minVal
maxVal
Upper and lower value clamps
scale
resultVar
scale * exp( srcVar1 + offset )
Tip.png Tip: exp(5) = 148.413159
UniformNoise
A noisy signal where each value is equally likely to occur.
minVal
maxVal
resultVar
GaussianNoise
A noisy signal where values are biased towards the average.
mean
The average value around which the noise will centre
halfWidth
The distance from the average at which it's only 30% likely to occur.
minVal
maxVal
resultVar
MatrixRotate
A rotation matrix from the provided axis and angle.
axisVar
Axis of rotation, in the format [x y z]
angle
Degrees of rotation around axis.
resultVar
To do: Output format
PlayerProximity
The distance between the entity the material is applied to and the local player.
scale
resultVar
PlayerView
The dot product of the player's view angle and the relative origin of the material's entity.
scale
resultVar
PlayerSpeed
Speed of the local player.
scale
resultVar
PlayerPosition
The local player's position.
scale
resultVar
= [x y z]
PlayerDamageTime
The number of seconds since the local player was last damaged.
scale
resultVar
EntitySpeed
The material's entity's speed.
scale
resultVar
EntityRandom
A static random number associated with the entity the material is applied to. Helpful for staggering effects that appear on multiple objects.
scale
resultVar


Texture manipulation

TextureTransform
Generates a texture transform matrix.
centerVar
Name of a variable holding the center of rotation and scaling. [Optional]
scaleVar
Name of scale variable (2D vector). [Optional]
rotateVar
Name of rotation angle variable (float). [Optional]
translateVar
Name of the translation variable (2D vector).
resultVar
Resulting value.
Empty
Used to comment out proxies. Surround a bunch of proxies with the empty proxy to cause those proxies to not operate.
TextureScroll
Returns a transform matrix or vector that will translate a texture at a given angle at a given rate.
textureScrollVar
Destination for the resulting transformation.
textureScrollRate
Rate of scroll in units per second.
textureScrollAngle
Angle of rotation to move along. (90 = up, 180 = left, etc)
ToggleTexture
Toggles a texture based on the frame number set by the attached entity.
Note.png Note: Must be attached to an entity.
toggleTextureVar
Texture to modify based on frames.
toggleTextureFrameNumVar
Variable used for frame number.
toggleShouldWrap
Whether the animation should wrap over not.
LampBeam
Modulates the material's alpha value based on angle between the beam's direction and the viewer's eye point. This is used to make the beams of volumetric light on lights fade as you look at them dead on.
Note.png Note: Must be attached to entity for angle use.
LampHalo
Modulates the material's alpha value based on angle between the beam's direction and the viewer's eye point.
Like the LampBeam proxy, but used for the halo at the beam's base.
Note.png Note: Must be attached to entity for angle use.
No return value.
AnimatedTexture
Increments frame variable
Note.png Note: animatedtextureframerate can NOT be set to a local var to be changed on the fly. It's a fixed variable, unfortunately
animatedtexturevar
Texture to increment frame for (i.e. $basetexture, $bumpmap, $normalmap (both $bumpmap and $normalmap use $bumpframe))
animatedtextureframenumvar
Frame variable to increment (i.e. $frame, $bumpframe)
animatedtextureframerate
Framerate in frames per second.


Entity integration

MaterialModify
Sets the base texture to a value held by the entity (used for entity controlled texture animations).
Note.png Note: Only works when attached to an entity.
WaterLOD
Coordinates water LOD values between the map's env_waterlod entity and the material's internal values.
$CHEAPWATERSTARTDISTANCE
Start distance for cheap water
Note.png Note: must be set outside of proxy block.
$CHEAPWATERENDDISTANCE
End distance for cheap water
Note.png Note: must be set outside of proxy block.
BreakableSurface
Sets the base texture to a material name held by the entity (used for switching surface material on shatter)
Note.png Note: Must be attached to a func_breakablesurface entity.
ConveyorScroll
Returns the scroll parameters for a texture used as a conveyor.
Note.png Note: Must be attached to func_conveyor entity.
textureScrollVar
Name of variable to place result in.
Note.png Note: must be a matrix or vector type variable (i.e. $baseTextureOffset).
Camo
Note.png Note: Only used by material "Dev\dev_camo.vmt".
camopatterntexture
To do
camoboundingboxmin
To do
camoboundingboxmax
To do
surfaceprop
HeliBlade
To do
ParticleSphereProxy
Note.png Note: Only used by material "particle\SmokeStack.vmt".
Seems to be defined in particle_proxies.cpp. Valve remark: "FIXME: Is this even needed any more?"
Shadow
Only used by material decals\rendershadow.vmt. No known parameters.
ShadowModel
Only used by material decals\rendermodelshadow.vmt. No known parameters.


See also