Multitexturing Terrain

Started by
2 comments, last by TerranFury 22 years, 7 months ago
One technique for texturing terrain I''ve seen used is the use of seperate textures which are blended together using a larger "blend map," or terrain attributes (slope, altitude, etc). For example: Different areas of a landscape can be dirt, snow or grass, and the textures are blended together at their edges. I have managed to do something like this using multipass techniques, but it''s much too slow to be of practical use. For one thing, it requires that the scene be transformed twice (is there a way around that, at least?) I''m very willing to settle on one rule: No more than two textures can exist on the same face or vertex. That is, snow can blend to rock, and rock can blend to grass, but snow, grass, and rock cannot blend together over one face. The add-on to Quake III Arena: Team Arena supports terrains that follow these same rules. An entirely different game, Earth 2150, also uses similar techniques for rendering terrain. Actually, I was just browing my "Downloads" directory, and it seems that an amateur coder''s engine, "Heylow," also uses this technique. Too bad he didn''t release any source! I have seen how multiple texture units of a video card can be used to perform multitexturing specifically with lightmaps, but I have not seen anything regarding alpha multitexturing, but I assume this just requires the use of an RGBA texture. And I assume these games use alpha channels in some manner. But each texture''s alpha map appears, at least, to be of a much lower resolution than the actual texture. And I have no idea how this can be done. But I''d be willing to bet some people here have actually implemented systems like those I keep referring to. Mind sharing how?
Advertisement
Hmm...
You could use a multi-texture idea like so.
Have 4 textures, snow, snow trans, grass and grass trans
setup 2 adjacent quads.
one snow, one grass
the snow-trans has a starting alpha of 255, and gradients down to 128 or 64. This is multi-textured onto the snow quad.
Repeat with grass.
This might work, it just off the top of my head

~V''lion

I came, I saw, I got programmers block.
~V''''lion
~V'lionBugle4d
I actually thought of that myself, too. But I'm almost positive what I'm referring to can be done, and, if it is, I'd prefer to do that.

Although the author of "Halo" didn't release any source, I got a hint by looking at the game files. The engine has, in addition to the heightmap, two "alphamaps" of the same size which seem to correspond to different textures. Can a small part of a large alphamap be used as the alpha channel of a smaller texture?

Also, how can multipass rendering be done without re-transforming the scene's geometry at each pass? Specifically, the rendering of the same geometry multiple times, but with different alpha values for each vertex?

Edited by - TerranFury on September 2, 2001 8:55:36 AM
perhaps the combine/nv_combine4 extensions on my site are of interest.
to use alpha as a blending method use GL_SRC_ALPHA instead of GL_SRC_COLOR as an operand

This topic is closed to new replies.

Advertisement