Implicit Shaders
Enemy Territory shader language has a set of new directives for simplifying shader scripts: implicit shaders.
Implicit shaders do not have explicit shader stages but rather use pre-programmed settings that work with a variety of lighting conditions (vertex lit, diffuse lit, and lightmapped) to give the shader the best possible representation when it is instantiated in the game.
There are three variants: implicitMap, implicitMask, and implicitBlend. They take the form of a single line with either a path to a texture, or a single '-' character.
| implicitMap | draws an opaque, single-sided texture |
| implicitMask | draws a masked (alphaFunc GE128), two-sided texture |
| implicitBlend | draws a translucent (blendFunc blend), two-sided texture |
For example:
textures/wood/plank
{
surfaceparm woodsteps
implicitMap -
}
|
This shader will use the default standard mapping, using 'textures/wood/plank.tga' as the texture (shader name tga extension). The only difference internally between it and a defaulted texture shader is the woodsteps. Internally, if the shader is used on a lightmapped surface, it will use a lightmap. If used on a vertex lit surface, it will be vertex lit.
textures/wood/plank_nonsolid
{
qer_editorimage textures/wood/plank.tga
surfaceparm nonsolid
implicitMap textures/wood/plank.tga
}
|
This texture differs from the previous one in that it explicitly specifies a texture to use.