Level of Detail

Discussion about everything. New games, 3d math, development tips...
Lonesome Ducky
Competition winner
Posts: 1123
Joined: Sun Jun 10, 2007 11:14 pm

Level of Detail

Post by Lonesome Ducky »

Can anyone recommend to me a good site explaining how to go about simplifying meshes? I want to do it for LOD, obviously, and want to do it inside of irrlicht. I've looked on google, but haven't found anything overly useful.
Midnight
Posts: 1772
Joined: Fri Jul 02, 2004 2:37 pm
Location: Wonderland

Post by Midnight »

You would need some sort of algorithm for morphing the mesh.

this would be rather difficult to write from scratch but may be easier to do with the modeling tool and multiple mesh files, depending on the format perhaps even built in lod in the mesh.

I don't know of such an algorithm but I can't imagine a determined person couldn't find it.

perhaps bing would be better then google who knows get creative with your bad self.

I just used it myself and found this
http://www.gamasutra.com/features/20000 ... ner_01.htm
not entirely useful but it's a start.

hey check this out I think it works 8)
http://www.scribd.com/doc/3124116/A-Sim ... -Algorithm
Masterhawk
Posts: 299
Joined: Mon Nov 27, 2006 6:52 pm
Location: GERMANY
Contact:

Post by Masterhawk »

you should check out this paper from stan melax

http://docs.happycoders.org/orgadoc/gra ... /gdmag.pdf

He shows you how to implement a working progressive mesh algorithm.
the source is also available. the link should be found in the paper.
Image
Lonesome Ducky
Competition winner
Posts: 1123
Joined: Sun Jun 10, 2007 11:14 pm

Post by Lonesome Ducky »

That's great! Thanks to both of you :D
Mel
Competition winner
Posts: 2292
Joined: Wed May 07, 2008 11:40 am
Location: Granada, Spain

Post by Mel »

Or else, you could do the LODs manually and create an ISceneNode which swapped between them given the height in the screen, the distance to the camera, or whatever another algorithm you saw fit to swap between them :)

Requires less effort and is a valid approach.
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt
FuzzYspo0N
Posts: 914
Joined: Fri Aug 03, 2007 12:43 pm
Location: South Africa
Contact:

Post by FuzzYspo0N »

Most times the LOD is stored in the same mesh, and premade using tools that are built into the 3d apps. (3dsmax etc)
Lonesome Ducky
Competition winner
Posts: 1123
Joined: Sun Jun 10, 2007 11:14 pm

Post by Lonesome Ducky »

I know, I just thought it would be fun to do. I plan on making a scene node that generates a few levels of detail right when you load it, you can specify how many levels there are, the detail, and the distance.
Masterhawk
Posts: 299
Joined: Mon Nov 27, 2006 6:52 pm
Location: GERMANY
Contact:

Post by Masterhawk »

Lonesome Ducky wrote:I know, I just thought it would be fun to do. I plan on making a scene node that generates a few levels of detail right when you load it, you can specify how many levels there are, the detail, and the distance.
Well that's exactly the thing I wanted to do after I finished my bachelor-thesis on this topic. But that you will do it suits me ;)
LOD-SceneNode would be a nice feature to have within irrlicht.
Image
Lonesome Ducky
Competition winner
Posts: 1123
Joined: Sun Jun 10, 2007 11:14 pm

Post by Lonesome Ducky »

Well if your up to, I'd rather you than me. I'm not exactly well versed in mesh simplification, but I'll give it a try. A few things I'm wondering are: Does irrlicht store each frame of a vertex animated model in a separate mesh? And: How would I best remap the UV's after simplification?
Steel Style
Posts: 168
Joined: Sun Feb 04, 2007 3:30 pm
Location: France

Post by Steel Style »

UV remap depend of your method to simplify models, and it's the real challenge in my opinion, you'll need to support things like tilling and much more. Maybe try to do X level of detail generated at the start and for each one try to create in real time a new texture for them, that you will store.
But the problem now is about memory ...
Lonesome Ducky
Competition winner
Posts: 1123
Joined: Sun Jun 10, 2007 11:14 pm

Post by Lonesome Ducky »

Well I was thinking with edge collapse, that for the new vertex I could just take the average u and v of the 2 vertices I combined. Would this be a good approach?
devsh
Competition winner
Posts: 2057
Joined: Tue Dec 09, 2008 6:00 pm
Location: UK
Contact:

Post by devsh »

binary triangle fusion???

drawing every 2nd,4th,8th indice??
loki1985
Posts: 214
Joined: Thu Mar 31, 2005 2:36 pm

Post by loki1985 »

i don't think there really is such an easy solution which will work on average meshes.

i once heard the marching cubes algorithm being used for mesh simplification too.

or try this: http://cg.cs.uni-bonn.de/aigaion2root/a ... 6-mesh.pdf

it doesn't look easy, but the screenshots look really promising.
Lonesome Ducky
Competition winner
Posts: 1123
Joined: Sun Jun 10, 2007 11:14 pm

Post by Lonesome Ducky »

I think I'll go with edge collapse first, to learn a little more about simplification. But that method does look very good, I might try that after.
Midnight
Posts: 1772
Joined: Fri Jul 02, 2004 2:37 pm
Location: Wonderland

Post by Midnight »

Masterhawk wrote:you should check out this paper from stan melax

http://docs.happycoders.org/orgadoc/gra ... /gdmag.pdf

He shows you how to implement a working progressive mesh algorithm.
the source is also available. the link should be found in the paper.
that's the same thing I posted. :roll:


________________________________
all good things come from america, hotpockets and the industry in which your favorite band thrives. - balls mcgee
Post Reply