MaterialDef Terrain { | |
// Parameters to material: | |
// regionXColorMap: X = 1..4 the texture that should be appliad to state X | |
// regionX: a Vector3f containing the following information: | |
// regionX.x: the start height of the region | |
// regionX.y: the end height of the region | |
// regionX.z: the texture scale for the region | |
// it might not be the most elegant way for storing these 3 values, but it packs the data nicely :) | |
// slopeColorMap: the texture to be used for cliffs, and steep mountain sites | |
// slopeTileFactor: the texture scale for slopes | |
// terrainSize: the total size of the terrain (used for scaling the texture) | |
MaterialParameters { | |
Texture2D region1ColorMap | |
Texture2D region2ColorMap | |
Texture2D region3ColorMap | |
Texture2D region4ColorMap | |
Texture2D slopeColorMap | |
Float slopeTileFactor | |
Float terrainSize | |
Vector3 region1 | |
Vector3 region2 | |
Vector3 region3 | |
Vector3 region4 | |
} | |
Technique { | |
VertexShader GLSL100: Common/MatDefs/Terrain/HeightBasedTerrain.vert | |
FragmentShader GLSL100: Common/MatDefs/Terrain/HeightBasedTerrain.frag | |
WorldParameters { | |
WorldViewProjectionMatrix | |
WorldMatrix | |
NormalMatrix | |
} | |
} | |
Technique FixedFunc { | |
} | |
} |