terrain texturing: tile vs single big texture

Started by
15 comments, last by Vladimir 23 years, 9 months ago
There is a _big_ difference in using tiles (in my opinion, they''re better) and a big texture. Say your terrain was 256x256 tiles big, and each tile was 32 units width and height. Then, you''d have a texture that is (256*32)x(256x32)x(24|32), making it easily 2,147,483,648 bytes of memory just for the texture.

If you used tiles, even if you had 256 tiles all together, you''d have an advantage in that they''re re-usable on different height field (a BIG performance plus).

So, using one texture is just as silly as using one BIG texture in making a 2D game instead of using tiles.

G''luck!
OldManDave.
Advertisement
Ok, but how to make tiles looks unique like one big texture?
Perhaps first generate one big texture as usual and then use tile processor to find repeats. But here again we will have same editing generating problems.

vlad
Vladimir: That''s something I can''t help you with... that''s artist''s business. The tiles are drawn to be "seamless" (border less). So they fit in perfectly... like a puzzle with pieces that make a big picture.

OldManDave.
I am a person of theory, so when I was thinking of a way to texture a landscape (terrain), I came up with this idea.

It involves making a texture generator type editor, so not everyone may like the idea, then again, it might not be that much of a problem.



Above is an image of your texture map. This is NOT the texture that would be mapped onto the terrain itself, but rather a point of reference that would tell the engine where to put the real textures. White is snow, green is grass, dark green is swamp, light green is lighter grass, yellow is sand, and brown is dirt roads.

First, the editor would look thru the whole texture map, picking out all of the pixles that are next to a pixel of a different terrain type, and create an index of this. Then, it would look thru the index, grouping all like-pixels, in other words, it would look for patterns in the pixels. (look at the red circles to see what like-pixels are). Flat edges between one terrain type and another could be concidered like pixels.

After it has grouped all of the like pixels, it would then generate a number of textures for each group (since one texture made for a group of 10000 like pixels would look like crap). It would, say, generate 3 or 5 textures per like pixel, or whatever the user wants it to make.

The blending of 2 terrain textures could be done in a "paint spatter" method, where rather than just bluring the two terrain types together, you spatter some of one texture onto the other. Think of it like this, you have a sheet of white paper, and a sheet of black, and place them next to eachother so they touch. Then, where they touch, you spatter some white paint on the black paper, and black paint on the white paper.

This effects can be seen in Asherons Call in many places. Though it may not be how real terrain goes from one type to another, it works for what we need.

Now, many of you may think that alot of textures would be generated because of this, and you may be right. To limit the number of textures created, you should remember the following...

1: Try to keep the transitions between terrain types to the bare minimum. Heavy snow turning into rock is realistic. Heavy snow turning into desert isn''t. Same goes for swamps and deserts.

2: Try not to have more than 2 or 3 different terrain types touching eachother.


Also, roads shouldn''t be added to the texture map, but should rather be done as lines and points with different widths. After all, you might want a road smaller than a pixel in the texture map (a small foot path of some kind).
Some see the glass as half full, some see it as half empty. To me, the glass it too damn big.
Vladimir,
>So you have same detail texture on the ground, on the grass and snow? Not very good too.

I use the detail texture just to mask the fact that my terrain textures have a lousy resolution. With texture filtering on this looks much better.My problem with detail and large texture is that the TNT cards can only multitexture two textures at once. So if you have a)detail b)terrain c)lightmap you will have to use multipass rendering.
So if you can achieve good results with only one texture this is the way to go.

The last truth is that there is no magic(Feist)
The last truth is that there is no magic(Feist)
quote:Original post by GreyDigger
Heavy snow turning into rock is realistic. Heavy snow turning into desert isn''t.



GreyDigger,
A good presentation.

However, Heavy snow turning into desert IS realistic. Heavy snow turning into lowland tropical swamps is not.

The deserts get snow, and plenty of it. The Great Basin, the Colorado Plateau, The Mojave, even the Sonoran.

Sorry for the lecture...


_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
Yoshi wrote: "So if you have a)detail b)terrain c)lightmap you will have to use multipass rendering."


Not unless you don''t want to combine terrain texture and lightmap, for sake of dynamic lightning or something.

This topic is closed to new replies.

Advertisement