posted June 30, 2000 12:59 PM
Okay, I'll try and set up the problem. If I don't give enough info. just ask me to explain int greater detail.
I am using the well-known quadtree method for rendering Dynamic LOD terrain. Currently, I am using the concept of "One big texture" on my terrain. This looks great, at a distance. However, I plan on using this engine in a simple game with a first-person view, so 1 texel per square meter will not look good near the player). I realize that the solution to this (the one that doesn't use many gigs of textures) is to use texture tiles. As the "one big texture" in my engine is already built from tiles, changing my engine over should not be too difficult (I just need to use tiles that represent a smaller area). I also realize that the tiles will only work at the smallest detail level, nearest the view point. Those triangles that are farther away are larger and can potentially contain more than one tile (i.e. a few grass tiles and a few sand tiles). Lastly, I know that these far away triangles do not need the full resolution tile, as only a fraction of this will be displayed on the screen.
This brings me to my problem. How can I use hi-res tiles close up, but still see low-level detail far away?
I was thinking that, for the far away tris, I could render the tiles that would be there if close up into a HUGE texture. Then shrink this down to the level of detail required. And then use the "one big texture" mode on the bigger tris with this shrunk texture and the hi res tiles on the small ones. It may take multiple levels of detail to avoid a visible seams between detail levels, but shoud be doable. Any thoughts on this? Does someone have a better solution? I tried mine, but when I shrunk my 4096 x 4096 image of tiled grass tiles, all I got was plain green (using Paint Shop Pro and bilinear resampling). This is not surprising considering that each tile of grass got shrunk to 2 x 2 pixels. Is there a way around this? Could I spatter many different shades of green on the "one big texture" so that in the distance, a grassy hill looks more varied than a solid color. Then, when the viewpoint gets close enough, switch to the tiles, so individual blades of grass can be seen. What should I do with other tiles when they are shrunk to low res(i.e. sand, mud, rock, etc....)?
Sorry if this post is long and somewhat unconnected, but I've got a lot of thoughts on this and I'm not sure what will work and what won't. In other words, I'm kind of confused. Once I get this working, I'll post a link to a demo here
Curiosity *may* have killed Shrodinger's cat.