The shader is the group or family of related shaders used to texture a
terrain entity. The shader key/value pair in the entity identifies the
metashader to be used. The suffix (either _# for a root shader or #to#
for a blended shader.
For each root shader that you want to blend, you need a blend shader. Note
that you only need to make the blend once. If you have mpterra2_0to2, you dont
need mpterra2_2to0.
Example Terrain Shader
This was the shader used to map textures on mpterra2 (hence the metashader
name)
//****************************************************
// *************************************************
// *
// * MPTerra2 terrain shaders
// *
// *************************************************
textures/terrain/mpterra2_0
{
surfaceparm nolightmap
q3map_novertexshadows
q3map_forcesunlight
{
map textures/stone/pjrock9b_2.tga
rgbGen vertex
tcmod scale 0.125 0.125
}
{
map textures/skies2/clouds.tga
blendfunc filter
detail
tcmod scale 0.01 0.01
tcMod scroll -0.05 0.05
tcmod transform 1 0 1 1 1 1
}
}
textures/terrain/mpterra2_1
{
surfaceparm nolightmap
q3map_novertexshadows
q3map_forcesunlight
{
map textures/stone/pjrock12b_2.tga
rgbGen vertex
tcmod scale 0.1 0.1
}
{
map textures/skies2/clouds.tga
blendfunc filter
detail
tcmod scale 0.01 0.01
tcMod scroll -0.05 0.05
tcmod transform 1 0 1 1 1 1
}
}
textures/terrain/mpterra2_2
{
surfaceparm nolightmap
q3map_novertexshadows
q3map_forcesunlight
{
map textures/stone/pjrock10b_2.tga
tcmod scale 0.05 0.05
rgbGen vertex
}
{
map textures/skies2/clouds.tga
blendfunc filter
detail
tcmod scale 0.01 0.01
tcMod scroll -0.05 0.05
tcmod transform 1 0 1 1 1 1
}
}
textures/terrain/mpterra2_0to1
{
surfaceparm nolightmap
q3map_novertexshadows
q3map_forcesunlight
{
map textures/stone/pjrock9b_2.tga
rgbGen vertex
alphaGen vertex
tcmod scale 0.125 0.125
}
{
map textures/stone/pjrock12b_2.tga
tcmod scale 0.1 0.1
rgbGen vertex
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map textures/skies2/clouds.tga
blendfunc filter
detail
tcmod scale 0.01 0.01
tcMod scroll -0.05 0.05
tcmod transform 1 0 1 1 1 1
}
}
textures/terrain/mpterra2_0to2
{
surfaceparm nolightmap
q3map_novertexshadows
q3map_forcesunlight
{
map textures/stone/pjrock9b_2.tga
rgbGen vertex
alphaGen vertex
tcmod scale 0.125 0.125
}
{
map textures/stone/pjrock10b_2.tga
rgbGen vertex
alphaGen vertex
tcmod scale 0.05 0.05
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map textures/skies2/clouds.tga
blendfunc filter
detail
tcmod scale 0.01 0.01
tcMod scroll -0.05 0.05
tcmod transform 1 0 1 1 1 1
}
}
textures/terrain/mpterra2_1to2
{
surfaceparm nolightmap
q3map_novertexshadows
q3map_forcesunlight
{
map textures/stone/pjrock12b_2.tga
rgbGen vertex
alphaGen vertex
tcmod scale 0.1 0.1
}
{
map textures/stone/pjrock10b_2.tga
tcmod scale 0.05 0.05
rgbGen vertex
alphaGen vertex
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
{
map textures/skies2/clouds.tga
blendfunc filter
detail
tcmod scale 0.01 0.01
tcMod scroll -0.05 0.05
tcmod transform 1 0 1 1 1 1
}
}
Back - Table
of Contents - Lighting the Terrain
|