Hey,
Thats exactly what BlitzTerrains environment mapping is for!
Let me show you example on how it works...
BlitzTerrain has 3 commands for dealing with environment maps:
BT SetTerrainEnvironment Terrain, Image
Sets an environment map (colour map) to the terrain.
environment=BT AddEnvironmentType(terrain,colour)
This creates an environment type for the terrain. The colour parameter is the colour of the environment on the environment map image.
Example:
woodland=BT AddEnvironmentType(terrain,rgb(0,255,0))
environment=BT GetPointEnvironment(terrain,x#,z#)
This gets the colour of a point on the environment map, and finds which environment it belongs to.
Example:
woodland=BT AddEnvironmentType(terrain,rgb(0,255,0))
environment=BT GetPointEnvironment(terrain,100,100)
if environment=woodland then //point 100,100 is woodland!