LOD - Still a must-have?

Started by
17 comments, last by loufoque 14 years, 11 months ago
I hear that depth of field is the "new fog" :P
Advertisement
Quote:Original post by loufoque
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.

I don't think he was refering to atmosphearic effects. Even with those you can still see a lot further and more clearly in real life than you can in many games. He was refering to the use of fog to hide the reletvley close in loading of terrain, close in clip planes or inadiquite LOD. WoW is a prime example. That's not to say WoW is a bad game or has particlay bad graphics. It's just that they fog to hide what would otherwise show up.

[Edited by - polypterus on May 4, 2009 7:59:19 PM]
Maybe too much is being read into the statement. With the history of PVS/visibility system use, in Quake engines, I wonder if the terrain is broken into blocks, and only relevant blocks are rendered; this could be handled with a simple quad/octree. And, this would have no "sophisticated geometry morphing".

Check out Super Play, the SNES inspired Game Engine: http://www.superplay.info

Quote:Original post by polypterus
Quote:Original post by loufoque
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.

I don't think he was refering to atmosphearic effects. Even with those you can still see a lot further and more clearly in real life than you can in many games. He was refering to the use of fog to hide the reletvley close in loading of terrain, close in clip planes or inadiquite LOD. WoW is a prime example. That's not to say WoW is a bad game or has particlay bad graphics. It's just that they fog to hide what would otherwise show up a


Anyhow, I never heard people who play WoW saying "I wish I could see further!". Honestly, which game needs an infinite view of the terrain? Flight simulators maybe or terrains which are quite flat with no objects on it and then in 10km distance there's a huge mountain.

It's not that I don't want to implement LOD techniques, but I can't find any paper or tutorial which doesn't require a Master in Mathematics (a bit overdone). Plus: For now I'm using terrain patches and each patch uses VBOs and index arrays. I don't believe updating those every frame for CLOD can be considered as being FAST.
Quote:Original post by starvinmarvin
Anyhow, I never heard people who play WoW saying "I wish I could see further!". Honestly, which game needs an infinite view of the terrain? Flight simulators maybe or terrains which are quite flat with no objects on it and then in 10km distance there's a huge mountain.

It's not that I don't want to implement LOD techniques, but I can't find any paper or tutorial which doesn't require a Master in Mathematics (a bit overdone). Plus: For now I'm using terrain patches and each patch uses VBOs and index arrays. I don't believe updating those every frame for CLOD can be considered as being FAST.


Again WoW *IS* a very good game. I was just using it as an example of a game that uses fog to hide stuff moving into the foreground. I played Everquest (another good game) for years and I didn't hear complaints about the world being chopped up into zones. Yet now if I have to go back I find it annoying.

If you don't think you want or need CLOD that's up to you. I'm just saying the technique is still valuable. Also it's really not has hard as you might think. I don't have a Masters in Mathematics or any degree at all and I didn't have too much problem with it. Your problem may be you're looking at "papers". In my view books are still often a better resource than the web for a lot of this kind of stuff. "Focus on 3D terrain programming" and "Real-Time 3D Terrain Engines using C++ and DirectX9" are fairly good sources.

But again, if you don't feel you need it for your application then maybe you don't. I was just arguing against any notion that it's never needed. My application could not work without it.
My view:

Quote:Original post by starvinmarvin
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?


1) You check the object's distance (and there are far fewer models than triangles) and do some kind of table lookup to select a model. That's a tiny amount of processing power. Of course, for terrain we're talking about something much more complicated (because of morphing), so maybe you don't want to bother with that.

2) We're worried here more about taking things off the GPU rather than the CPU, because that frees up GPU resources for other things, while the CPU is probably nowhere near being overloaded yet.

3) The less effort you put into rendering distant models, the more effort you can put into rendering close models - so in a sense, LODing will always be necessary, until we get to the point where we can afford models so detailed that each polygon is subpixel size at point-blank range.

Quote: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 you've designed things well, LODing shouldn't require you to "throw away" much (perhaps not anything) of your existing work.

If your game performs well enough for you, then it performs well enough for you; optimization is only worthwhile when it's deemed necessary. If you don't have the resources to take advantage of LODing (i.e. don't have the time to make the more detailed models that you'll now be able to draw in the foreground with the same performance), then don't bother, of course. Although it might allow you to increase your draw distance instead :)
I think a good terrain system pretty much requires some form of LOD, doesn't need to be anything complicated though, ChunkedLOD is relatively simple and works very well. Lots of games don't need terrain LOD because their game worlds are small and bounded.
It also depends on the kind of game. While coding a flight simulator where you see the whole place, you will barely see a piece of it all in a first person game, because of mountains, houses, other people, Pokémon or whatever there might be. In a first person game I would use a view frustrum and only draw what's in it - depending on the size of the seeable landscape. In a flight simulator I would use LOD to it's fullest [like when you fly above cities or waterfalls or some other expensive things].
For me, I'm coding a 3rd person beat'em up. It will have big areas, and LOD will surely do it's job. What is behind let's say 500m will be less detailed with less animation framerates, poorer textures, less effects and less precise collision detections.
If you're looking at a house from far away, you don't need detailed tiles which you won't be able to see anyway.
No need for interpolation for that. If the house is far away, just use a lower polygon model and lower resolution textures.

This topic is closed to new replies.

Advertisement