LOD - Still a must-have?

Started by
17 comments, last by loufoque 14 years, 11 months ago
Hey! I wonder if LODing for terrains is still that usefull today. What I mean is: Wouldn't the computation for real-time LODing in a terrain eat more CPU power than just rendering full detailed visible parts of the terrain on todays GPUs? I render my terrain with VBOs and index arrays using triangle strips; it's divided into patches and those patches are affected by frustum culling and some distance test. It's pretty fast, even when rendering huge terrains. Is LODing worth the pain and worth to throw all that what I've done so far away? If so, which algorithm would fit most into my existing code/concept, so that I don't have to rewrite everything? Thank you :)
Advertisement
According to John Carmak you can go with static vertex and index buffers and skip LOD for the terrain.
You should listen to the interviews he gave regarding Tech5 engine and its terrain / mega-texture implementation.
Quote:Original post by doronf
According to John Carmak you can go with static vertex and index buffers and skip LOD for the terrain.
You should listen to the interviews he gave regarding Tech5 engine and its terrain / mega-texture implementation.


Thanks! Found it. If someone is interested too:

Quote:John Carmack: Level of detail wise, the terrain does not render with any sophisticated geometry morphing situation. That's one of those things that for years I think most of the research that's gone into has been wasted. Geometry level of detail on terrain.. there have been thousands of papers written about it, and I honestly don't think it's all that important. The way the hardware works, you're so much better off setting down a static mesh that's all in vertex and index buffers, and just letting the hardware plow through it, rather than going through and having the CPU attempt to do some really clever cross blended interpolation of vertices.
Quote:Original post by starvinmarvin
Quote:Original post by doronf
According to John Carmak you can go with static vertex and index buffers and skip LOD for the terrain.
You should listen to the interviews he gave regarding Tech5 engine and its terrain / mega-texture implementation.


Thanks! Found it. If someone is interested too:

Quote:John Carmack: Level of detail wise, the terrain does not render with any sophisticated geometry morphing situation. That's one of those things that for years I think most of the research that's gone into has been wasted. Geometry level of detail on terrain.. there have been thousands of papers written about it, and I honestly don't think it's all that important. The way the hardware works, you're so much better off setting down a static mesh that's all in vertex and index buffers, and just letting the hardware plow through it, rather than going through and having the CPU attempt to do some really clever cross blended interpolation of vertices.


And the next line says:

Quote:In and infinite sized world, you would have to include some degree of level of detail. The Quake Wars levels are not infinite size. They're bounded. And it generally turns out to be the best idea to just have the geometry at a reasonable level of detail and very efficiently rendered.


So I'd say it depends on what type of game you're making :) (I'm interpreting "infinite size" as open terrain/morrowind/mmo style)
----------Thale Cres
Even in the "infinite" case, you can still make sure your actual geometry is appropriately dense, pick a good far plane, and perhaps use fog to hide the end of the visible terrain. I'd really consider one of these simpler solutions before spending any time on a really complicated feature that only affects things that are -- by definition -- very far from the camera/action.
Hm, okay. But does it matter actually? Even if you have an infinite world like a mmo, your range of sight isn't infinite. Turning on fog avoids having an infinite range of sight and avoids the player to notice popping up objects or terrain patches from a positive distance test.

One good example may be terrain patching! Setting the patch size too low may decrease the number of rendered vertices but also increases the frustum and distance tests that have to be performed. The result is a lower frame rate.
But I guess that's where octrees come into play...

...damn, seems as if I'm just looking for bad excuses no to implement LOD :D
Quote:Original post by starvinmarvin
Hm, okay. But does it matter actually? Even if you have an infinite world like a mmo, your range of sight isn't infinite. Turning on fog avoids having an infinite range of sight and avoids the player to notice popping up objects or terrain patches from a positive distance test.

It really does depend. I have a base set of data that if rendered at full detail would be around 20 000 000+ triangles. The type of hardware I am aiming at just dies trying to render that amount of data.
Even if taking into account a lowered fog level we are still talking about 4 000 000 triangles. (This is before any other kind of data, such as objects have been added)

The solution is to not implement LOD, give your game a test, and if it doesn't work at high enough frame rates experiment with adding LOD.

By today's standards, fog should be considered an ugly hack. A game that shows distant mountains, even if they're nothing more than opaque outlines against the skyline, gives a much better impression of the 'infinite', or at least immense, size of your world than some arbitrary permanent fog on an otherwise bright and sunny day.

My opinion, a game that implements a good LOD system (and by good I mean keeps pop-in to a minimum, none of the current techniques eliminate it), is more visually impressive than one that depends on fog to limit the player's view of the world.

Carmack has always developed engines that dealt with finite/bounded game environments. If that's the kind of game we're talking about, then yes, with today's hardware LOD is likely a lot of wasted effort. Outside that, all the research and techniques developed for LOD are still very useful and not in the least bit wasted effort. Oblivion, and games like it, wouldn't be nearly as visually impressive otherwise.
Well In my case since I'm doing fractal worlds, LOD is an absolute requirement and it's one of the first things I worked on. To me fog should be ... well ... fog and nothing else. If you can see distant mountains in real life why can't you see them in a game? Not only that, why can't you walk over and climb those mountains and expect a decent polygon count? This reminds me of when the guys at FUNCOM decided players didn't need a seamless world anymore for AOC. Even though AOC had a lot of other problem's, the main reason I quit playing is because their world felt claustrophobic. I like to think gaming technology should move forwards not backwards. If there is some replacement for LOD that gives you the same capabilities then I might go for that, but I don't want to lose functionality just to make programming easier. Maybe some games with smaller terrain sizes don't need LOD but I think that is certainly not universally true.
Quote:By today's standards, fog should be considered an ugly hack. A game that shows distant mountains, even if they're nothing more than opaque outlines against the skyline, gives a much better impression of the 'infinite', or at least immense, size of your world than some arbitrary permanent fog on an otherwise bright and sunny day.

Except that wouldn't be realistic at all.
There are things in the air, such as water, that make you see things that are far away quite blurry. Fog is just the name we give to that phenomena when there is a lot of water.

This topic is closed to new replies.

Advertisement