PDA

View Full Version : 3D Model Formats for games



WILL
12-05-2010, 02:55 AM
What would you guys suggest as a good 3D model format for use in games considering that use I OpenGL? After doing some work on my Water Demo, I was thinking of playing further with 3D and seeing how creating a model loader would work out. However what format(s) should I be looking at?

I'm new to this, so maybe a simpilier format to start would be wise?

Do I want low poly only? Or is this a relic of early computing hardware and we've overcome it by now? If so how far can I take this?

Andreaz
12-05-2010, 05:24 AM
I would consider the Milkshape 3D format, MS3D, it's binary and fast to load and much easier then 3DS.

I have written my own format for Phoenix through, but that's just how i roll. ;)

And for polygon count, in recent game the trend is to use fewer polygons then a few years ago and using normal mapping and other effects to raise the quality. I would say that 10-20k polygons per model is nothing impossible.

There's a nice list of vertex count here

http://forum.beyond3d.com/showthread.php?t=43975

And you can check the code for my MS3D loader here: http://andreaznas.dyndns.org/phxModels.7z

Stoney
12-05-2010, 05:47 AM
You can also try Restless, an animation and model library written in Pascal: http://texelviews.delphigl.com/index.php?nav=3&theme=peach#restless

From what I've seen so far, it looks nice, but I haven't used it in a project so far mainly because I couldn't get it to work on Mac OS X yet.
You need Blender to be able to export your models to the Restless file format.

chronozphere
12-05-2010, 07:38 AM
If you just want to load a bunch of textured polygons, the waveFront OBJ format would be a good choice. Also, you migt want to consider ASE and MD2 (used by quake2). All are text-based formats.

Keep in mind that textbased works well for low-polygon models (<5k polygons or something). If you want more, you should look into binary formats because model loading will go a lot faster. Textbased is just a bit easier if you want to write the loader yourself, because you can actually see what you are loading.

If you want a binary format, I guess MS3D would be a good choice. MS3D also contains animation data but you can ignore that. ;)

Also, It's important to know which program you will be using to create models with. If you are using DeleD for example, you could write your own simple importer/exporter plugins for your own model format that only contains the data you need. :)

Hope this helps

staigerman
18-05-2010, 02:20 AM
If you just want to load a bunch of textured polygons, the waveFront OBJ format would be a good choice. Also, you migt want to consider ASE and MD2 (used by quake2). All are text-based formats.



Yep, Wavefront OBJ is a very commonly found format, many apps use it. Including the newest version 2.0 of Curvy, http://www.thebest3d.com/curvy - Curvy 3D is being developed by a game developer (Aartform games)

noeska
18-05-2010, 04:21 PM
In my glmodel project i support wavefront obj, milkshape ascii and .3ds models. Direct x mesh loader (.x) is in the pipeline.
http://www.noeska.com/dogl/glModel.aspx

It started out as in .3ds loader because of supporting detailed meshes, but it does not support bone animation so i added milkshape ascii support. But that only is suiteable for low poly models. So there is not one best easiest to use format. For static meshes .obj is also easy to implement. Best format would be the direct x mesh format. Allowing all. But i am sure about license restrictions from microsoft on using that format.
But with my project you can load all format in the same way and use them in the same way. It renders only classic opengl 1.5 way and there is an test version of rendering it using vertex buffer.