Re: [Algorithms] terrain texturing
Brought to you by:
vexxed72
From: Timo H. <Tim...@gm...> - 2001-01-16 11:12:29
|
Hi Thatcher, Dienstag, 16. Januar 2001, you wrote: > On Jan 15, 2001 at 09:32 +0100, Timo Heister wrote: >> >> sorry, my target isn't geforce2+. I think i will use unique >> texturing. each texture is generated on-the-fly in software when >> needed. Then i'll add some detailmap to increase the detail around the >> camera. >> These techniques you and John descibe are very interesting but not >> suited for my needs. >> Which terrain-algo would you choose when targetting systems with tnt1 >> or better? >> Algos that come into my mind: >> a) split-only-roam >> b) quadtree >> c) terrain mip-mapping (also kewl for geforce) >> >> what do you think about c) ? >> I only read the paper and saw one implementation which suffers from >> heavy popping, but a) and b) seem to be hardware-unfriendly and >> cpu-dependant. > Soul Ride uses a system that sounds similar to what you're talking > about: unique texturing, rendered by software and then downloaded into > a texture cache. The rendering/downloading hurts, especially on > TNT-level hardware, but it is feasible. Does soul ride has a fully unique texturing approach? or are some textures used a few times? (should be possible when displaying snow) Anyway,I think i will give it a try. > The way I see it, the algorithm used for meshing and the algorithm > used for texturing can/should be fairly independent of each other, so > the roam/quadtree/static discussion is a separate question. Thats right, but a few things are dependent, for example John's Algo uses detail-polys to blend the textures which has a connection to the texture generation. When i don't have to blend the textures i won't need extra detail polys for blending ... but you are right, perhaps i should start a new thread. > I agree with you that texturing is really important for getting good > results with a terrain engine, probably more important than geometric > LOD in these days of fast hardware. Do not forget good lighting ... > John R's description and > screenshots are very generous and should give you good ideas to keep > you busy for a while. Yep, it was really kind to tell us his secret algos. But i think my engine won't be the future reference. It kindof helped me, but i'm not sure if it works that good for current hardware. > Combining his comments with my own experience, > I would distill the message down to a few bullet points: that's nice ;) > * hi-res unique texturing with hi-res unique lighting looks great. right, i would even say, that one should consider lowering the poly-count for more texture/lighting detail. With a few hundret polys and large textures you can even build a few very nice moutains. (note that i won't work as good with normal binary/.. trees because they aren't as efficient) > * you can't reasonably fit the full-resolution textures you need in > texture RAM all at once (e.g. in John's case 8192m x 8192m --> > 64Mtexels), however, for any given viewpoint, most of the terrain is > far away and so can use a lower res version. So you need some sort of > texture cache, and you need to be able to load/generate mip-mapped > versions of your texture tiles. The question is, if leaving a really low-resolution texture of the whole terrain in texture-ram is a good idea. When you get near a quad you can upload a larger version. what do you think? It perhaps depends on how large your terrain is and where the far clipping-plane is. > * detail rules, but RAM is limited... if you're serious, you need to > get into paging and/or compression. Detail overlays, tiling, > splatting, procedural texturing etc can all be thought of as > compression techniques in some sense. right, has anyone any experience with texture-compression (s3tc,dds ...) ? How is the quality of the textures? How fast is the generation? (when generating compressed textures in realtime) > Those are the principles, the rest is just a bunch of minor > details... :) The problem sometimes is in the detail ! CU, Timo -- Timo Heister E-mail: Tim...@gm... ICQ: <ask me> |