Terrain Thoughts

I’ve been working on a terrain editor, and figured I need some realistic texturing. Not just plain 1 texture. I can do this by

A) Blending
B) Creating millions of texture maps

What should I do ? And are there any better ways to do it ? Thanx !

–> Divide Overflow

“An intellectual is a man who says a simple thing in a difficult way; an artist is a man who says a difficult thing in a simple way.”

Man, I’m doing the terrain of my game just now so I’m willing to exchange any idea or code about terrain. Anyway if you want some textures I thought this way: open myth2 and caputre an screen with an plain terrain and get from there the texture . SO you have the texture you need…
If you have any link for representing of the terrain please post it (or any ideea)


I figured it this way: you make an texture that you put on all the triangles of the terrain. So you have in the memory only one texture and you blend it (maybe…). Or you can make a little texture (as big as your terrain unit (the smallest triangle possible) and you put on greater triangles not by stertching but one texture near the other). If you’re not satisfied you create 2-5 textures for the terrain and display them after an algorithm. Or you can combine the methods Here the imagination is your limit.


I suggest you take a look @ the OutCast technic.

ive been trying to do this for quite a while but as of yet haven’t been able to find a satisfactory way. what i want to do is like the original poster is take 2 textures eg grass(tex1) + dirt(tex2) and blend them together at runtime using a third greyscale texture as a guide of how much of the dirt will be shown ontop the grass. i hope that’s plain enuf.
ive tried various methods of multitexture but no luck.
im thinking the only/best method is being able to dynamically altering one of the textures alpha values so i know how much of that texture to show. but how can i do this quickly. cheers zed

Just wanted to give you a tip. I made a small terrain engine (nothing big, just for testing purpose), and I made a quite nice discovery.

First, I had a 128x128 texture, which i tiled all over the landscape. As far as I understand, this is not what you want to do. Well, I wanted something better aswell. SO I created a huge (1024x1024) texture which I mapped over the entire landcape, without tiles. And I was amazed by the increase of speed I got. I nearly doubled the framerate by just doing this. And I could make all kind of terrains I wanted, wherever I wanted. If I wanted a small road somewhere, I just pained one. Ofcourse, it’s not that easy to alter the texture in realtime. Maybe this is an option too?

not really an option mate it just looks so washed out. 256x256 at 4 quads is ok but 1024x1024 at 16384? quads it aint a texture anymore just a blur? of colours

Wow, some replies
I’m trying to do the same as Zed, and I figured m8be Lionhead Studios could help. They created this new game and said there wasn’t a single texture the same in the whole terrain. Can’t wait till they reply… sorta

–> Divide Overflow

“After showing your first fire demo in 4k, and ask for comment, they say ‘Gee… nice starfield’”

zed: Well, my terrain wasn’t that large (overall size that is). But you are right, the texels looked abit blury, but it wasn’t THAT ugly. You could very well accept it if manage to get the texture correct (apply a noice function, so you can distinguish each texel for example). I offered some visual quality, but gained alot of speed.

You may consider using detail textures to improve the look ( 2nd pass ).

A 2nd pass, humz… why didn’t I think of that

Thanx onyXMaster!

–> Divide

Okay, so Lionhead Studios replied (thnx guys)

The landscape in B&W use quit a lot of textures. Each of them can be generated dynamically. Each individual texel in the landscape is physically different. The cool thing is that you can add a lot of
cool stuff like the shadow of the building, roads, garden… The main drawback is the massive amount of texture use. This is why we are using different set of texture resolution (it’s not mipmapping).
We are using the low res textures for the parts of the landscape in the background. In the foreground, we are using a much higher res texture (16 times more pixel). The difficult part is to blend them

Hope it’s help.

By JC.

–> Divide

but what blending method would you use for the second pass, ideally ild love to go src_alpha, one_minnus_src_alpha but the problem is how to alter the alpha of the second texture at run time

And what is the problem ?
Let’s discuss non-mulltitexturing case as more general. Detail texture could be alpha-only, with polygon color set to 0;0;0;x, where x controls effect of detail texture. Lighting disabled of course. Dynamically updating alpha-only texture is not a problem i think - small amount of data transfer … very small.

Also, detail textures must be of much higher detail, tiled on top of blurry textures - this will require texture coords re-generation, or will involve texture matrix ( though non-identity texture matrix slows down rendering, at least T&L )

[This message has been edited by onyXMaster (edited 08-30-2000).]

sorry im being dense but for me this is the problem
“Dynamically updating alpha-only texture is not a problem i think”
thats what i wanna know how to do , how can i dynamically alter a textures alpha channel

With precalculated frames of alpha channels of course choose the size instead of cycle burning!