Archived

This topic is now archived and is closed to further replies.

d000hg

I'm getting very vexed...

Recommended Posts

So here''s the deal: I have a terrain engine that can generate triangles fine, with a camera and basic quad tree. I''m coming to add textures, and have run into a whole cavalcade of problems, for instance: How do I do it? I''ve read that a standard method is to have one large texture (or split it into 256x256 segments) for the whole map, maybe 1 pixel per data point on the heightmap. That is fine except the quality is rubbish - in my game each quad formed from adjacent points on the heightmap will be 1mX1m. A single colour for all that is ugly, though using bilinear filtering would smooth it some. Using this method, you''d normally multitexture with some fine-detail texture map to get over the quality problem, but this leads on to the next problem. Imagine drawing a line in paint then zooming in real close. It''s real jagged. Now if the smallest unit of the terrain is one quad (1mx1m) then having textures picked for each quad is really going to give that jagged look. Even using one large texture and fine detail maps, unless the whole map uses the same fine-detail texture then that jaggedness will occur where different fine-detail textures meet. And I kinda wanted to use a tile-based idea, where you just set each quad to be grass,snow,mud etc. The jaggedness here would just be horrendous. The only method I''ve come up with that works properly is to assign a texture to each point on the height map, then blend between them on each triangle. Thing is this is 3-texture multi-texturing which while not that slow, is surely over the top for a simple terrain engine like those used in Magic Carpet. I can''t believe you need fancy effects like that. How have people done it in their engines - it''s fine when you have a huge expanse of one texture, but what about having a mud track winding across a grassy terrain, smoothly fading into green at the edges? John 3:16

Share this post


Link to post
Share on other sites
simple, have a much larger texture. and dont think in pixels in this case. easier to think in the standard 0-1 way. all i can think about.

Eric

Share this post


Link to post
Share on other sites
Shurcool:
Isn't that basically my 3-texture multitexturing idea, only with 4 textures? His result looked very nice though, but I want a game that'll run on a TNT/TNT2, not requiring a GF3!

Erjo:
Have a much larger texture? Well for a 1024x1024 map (1kmx1km for me) thats 1M pixels in the texture. How high do you want me to go considering I want maps 4KM by 4Km? 16Mpixels*32bits = 64meg already at one pixel/data point.
John 3:16

[edited by - d000hg on July 17, 2002 3:40:26 PM]

Share this post


Link to post
Share on other sites
2 things:
1)bump.

2)Do I maybe need to long along the lines of what warcraftII does? You know when you put in one square of mud to a grass plain, it chooses which mud tile to use depending on what tiles surround it. This would mean I could get away with single texturing, but would increase the number of textures dramatically.

Which sounds better - tiling as single texturing or my 3-texture multitexturing. (would there be much speed difference really - do any D3D8 supported cards not have at least 2 texture units?)


John 3:16

Share this post


Link to post
Share on other sites
Well I have a GF2, which is way overkill really and should be able to do loads of passes while still being blindingly fast. I don't have a TNT or something even slower (anyone know something real slow with DX8.1 drivers?) to try it on.

I guess I could render the join textures using my multitexturing approach, and then use them in the tile based method. Saves on texture stages and artist time, still many textures required. Does that sound sensible? Does anyoneone reckon there is a D3D8 card out there that couldn't handle my multitexturing method?

And to clear htis up, would my idea need two or three texture stages. And how many passes on a single and double texture unit card?

Cheers



John 3:16

[edited by - d000hg on July 18, 2002 4:55:02 AM]

Share this post


Link to post
Share on other sites