LOD models: really needed with today's modern graphics card ?

Started by
8 comments, last by superpig 19 years, 4 months ago
Hi, I was wondering if the LOD (Level Of Detail) models are really needed with modern ( fast ) video cards. If modern GPUs are able to render many frames in a second why shall I spend my time to: 1) model a 3d object twice; one for the normal view and the other one for the LOD view. 2) complicate the code so to display the LOD 3d model when the player is far away from it and display the normal 3d model when the player is very close to it. What do you think ?
ColossusCpsed,a Linux OpenGL 3D scene editorhttp://cpsed.sourceforge.net
Advertisement
First, there is not much overhead required for implementing geometry LOD on models (simplification algorithms are well-known and many sample implementations are available).

Second, LOD not only applies to raw polycount. There also is LOD on textures (mip-mapping) as well as appearance (shaders). It's useless to apply a complex shader to a model that is only a few pixels tall due to its relative distance to the camera, so you get a significant performance improvement if you use different shaders depending on the view distance.

Geometry LOD provides benefits as well. While it's certainly true that todays cutting-egde hardware is able to push millions of lit and textured polys per second, you can get the best performance if you don't need to compromise the average poly count of your models. E.g. you can have highly detailed LOD zero models and low-poly variants for higher LOD levels. This way you can keep a somewhat constant overall polycount in your scene while being able to display highly detailed models that are close to the camera.

Regards,
Pat.

*waiting for the gfx experts to correct my naive chain of thought [smile]*
i think charles bloom described the reason best, even if its a little harsh in this context:

Quote:rant: it's amazing how many people don't undertand the point of LOD. The goal of LOD is not just to speed up your old content, or to make your ambitious content run on today's crappy GPU's. No matter how fast the GPU is, LOD will still be important. Why? LOD relieves the load not only on the GPU, but also on the CPU (fewer verts to animate, collide against, etc.), and on the memory (fewer verts to store). When the GPU can do 1 MTris/frame, then the user should expect scenes that appear to have 100 MTris!! Only with LOD will you be able to push scenes that have far more triangles than the GPU can do.


a little dated but sound advice.
justo: right! I totally ignored that 'most games are CPU-bound' thingy[smile]
Quote:Original post by darookie
First, there is not much overhead required for implementing geometry LOD on models (simplification algorithms are well-known and many sample implementations are available).


Do you mean I don't have to remodel the 3d object ? Just need to model it in high detail and then with these 'well-known' algorithms I can transform it in a LOD ? Please share light on this thank you,

ColossusCpsed,a Linux OpenGL 3D scene editorhttp://cpsed.sourceforge.net
Quote:Original post by Colossus_1
Do you mean I don't have to remodel the 3d object ? Just need to model it in high detail and then with these 'well-known' algorithms I can transform it in a LOD ? Please share light on this thank you,
Yup. It usually involves taking your high-poly model and performing a series of edge-collapses on it, tracking the result with an error value to make sure that things like the silhouette of the result deviate as little as possible from the original.

I recommend Level of Detail for 3D Graphics for anyone interested in LOD systems.

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

Quote:Original post by superpig
[Yup. It usually involves taking your high-poly model and performing a series of edge-collapses on it, tracking the result with an error value to make sure that things like the silhouette of the result deviate as little as possible from the original.


Are there such programs on Linux to do this ?

ColossusCpsed,a Linux OpenGL 3D scene editorhttp://cpsed.sourceforge.net
Quote:Original post by Colossus_1
Are there such programs on Linux to do this ?

Algorithms are language and platform agnostic. Therefore, getting your hands on a good book (like the one superpig suggests) should provide you with enough information to implement such a system in any language you know and on any platform you want.
You can use automatic LOD generation tolls but this is not how it is done in the industry at least not afaik.
Our modelers do the lodding manually on their objects as the algorithms cannot take psychological factors into account. Depends on the amount of objects you have in a game but for Riddick everything was done by hand.
/ Bucko aka Backman
Quote:Original post by Bucko
You can use automatic LOD generation tolls but this is not how it is done in the industry at least not afaik.
Our modelers do the lodding manually on their objects as the algorithms cannot take psychological factors into account. Depends on the amount of objects you have in a game but for Riddick everything was done by hand.


It does depend on where you go. I've heard of some places that combine approaches - have tools generate low-LOD meshes from the source art, and then have the artists tweak the results to look better.

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

This topic is closed to new replies.

Advertisement