Deform (Material global keyword)
From modwiki
Description
The deform keyword applies the specified type of deformation to a material shader.
Usage
In the global section of your material shader type...
deform <type> [<parameters>]
Parameters
- <type> - The deformation type to be used.
- <parameters> - The exact definition varies depending on the type of deform.
Types
- eyeBall
- Used for eyeball materials on NPCs to allow for pupils to move along with whatever the NPC is looking at.
- expand <amount>
- Expand the surface along it's normals.
- flare <size>
- Used for light flares which are seen as bloom-like areas around light fixtures.
- move <amount>
- Moves the surfaces along it's X axis.
- Example:
deform move (time * 1)
- particle <particleDecl>
- Emit the specified particles from the surface.
- particle2 <particleDecl>
- It will emit particles like particle while ignoring the surface area. As a result, small surfaces emit as much particles as large surfaces.
- sprite
- Causes any surface to which this material is applied to behave as a sprite in that it always faces the player.
- tube
- Causes the surface to appear bent around a tube.
- turbulent <table> <range> <timeoffset> <domain>
- Causes wave-like distortion based on the given table.
- Example:
deform turbulent sinTable 0.05 (time * 1) 10
Notes
Any material shaders that make use of the deform keyword coupled with flare, sprite, tube, eyeball, cannot be illuminated by lights because these types of deforms are rendered in a separate pass.
The examples, move and expand types were taken from the id.sdk: Tables & Materials page.

