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.