svenskmand {l Wrote}:The textures I talk about should just be parallel to the floor of the tiles and only be visible from the top. They should be position just a little bit above the tile, and this ordering will also define the precedence for the terrains. But you still only need to do 12 (I was wrong with 16 before) different transitions for each tile type, i.e. 4 edges and 4 corners, that points outwards and 4 corners that points inwards, you do not need 4 edges that point inwards/outwards as you can just use the other edges. So then you need to to 12*n transitions in total for n different types of terrain.
Then using texture splatting will give even more variation, which is always nice

Warcraft3 used this splatting method (pre-defined alphas for blending transitions.
click). It leads to one of two scenarios: A) Terrain is dull because every tile uses the same transition, or B) puts a huge workload on the artists to hand-paint
each transition scenario for
each texture. Either way it always cuts down on the end-user customize-ability, because the transitions are predefined. It also prevents your terrain textures from having alpha channel (one unrelated to the transitions).
It is much easier and more versatile to setup a layered splatting system that uses weights to blend transitions. This can be done in a number of ways (shoving the weights in a texture, then retrieving them using texture-lookups in the shaders, using the alpha channel of the vertex color-buffer, etc). Each has its benefits and it all depends on what you want for your terrain. One disadvantage to doing it in the vertex color buffer is lighting can be more expensive using multi-pass (slower for lighting, faster for more complicated splats). The texture-lookup method is slower when using complicated splats (and limited in the texture count), but can be much faster for the lighting. Vertex-color-buffer is different in its interpolation methods (its exp instead of linear), which can cause problems with even transitions.
There are a slew of other methods, but this gets the point across. Ideally you would need a deferred rendering/multi-pass hybrid with (what I would recommend) vertex-color-buffer splatting. Its the best method IMHO. The implementation shown in
this demo would work great with splatting.