Terrain Texturing

Blitz3D Forums/Blitz3D Programming/Terrain Texturing

AbbaRue(Posted 2004) [#1]
Is there a way to access an individual Tris of a Terrain to texture it?
All the examples show texturing a terrain using one texture for the whole Terrain.


Al Mackey(Posted 2004) [#2]
You can't, because terrains add and remove triangles on the fly to optimize poly count for each frame.

This optimization process is actually fairly slow, and can take quite a few precious milliseconds of time each frame. I've found that I'm always better off finding a different way to do landscapes.


AbbaRue(Posted 2004) [#3]
It sounds like a better method would be to create a tile system made up of meshes.
I suppose creating a landscape as one large mesh creates the same problems, trying to texture it.
But using mesh tiles of a certain size and then maybe lower poly meshes as the scene gets farther away.

But this brings up another question: If I did make a scene out of one large mesh.
Can an individual tris of a mesh be textured.


sswift(Posted 2004) [#4]
Abba:
I sell a terrain system which does just that. Large tile meshes each which can have a unique texture with a unique rotation, plus support for a lightmap that is stretched over the entire terrain.

See my sig for details.


"But this brings up another question: If I did make a scene out of one large mesh.
Can an individual tris of a mesh be textured."

A single mesh can contain many surfaces. Each surface can contain many triangles and vertices. But each surface can only have one texture. So to have multiple textures in a single mesh you need multiple surfaces. The advantage of having multiple meshes in a terrain is then only that you can hide large numbers of polygons quickly. But reducing the numebr of surfaces is a lot more important than hiding polygons.

A lot of surfaces will slow your game down a lot more than a lot of polygons. So always try to minimize surface count. You can do this on a terrain by making the tiles as large as possible, with as many polygons as possible, and by using only one texture per tile.