I'm a novice that is starting to play with OpenGL ES on Android devices. To practice OpenGL I wanted to create a small game engine and so I was wondering what the best 3D model file format would be.

I'm also interested in free models of the same format.

What do you suggest?


There are two that are really easy to use. First is wavefront (.obj) http://en.wikipedia.org/wiki/Wavefront_.obj_file and the second is stanford (.ply) http://en.wikipedia.org/wiki/PLY_(file_format)

Both store data in normal text/ascii format so you can read the content in a normal text editor which will help you understand the content and how to read it.

There are more advanced and methods that supports more functions (animation, skinning etc), one of those is the Collada which is developed by the khronos group

  • \$\begingroup\$ I must admit that I've got a fair game engine developed and I haven't even heard of PLY files before. Never seen anybody offer content in that type either. Is it actually used for anything other than bunnies? \$\endgroup\$ – dascandy Jul 20 '11 at 10:41
  • \$\begingroup\$ Maybe it is not so widely used. I havent looked for ply models online. I come across it in school and when I wanted to exported my models in blender to opengl. As you say, on the internet it probably only used for bunnies and maybe a teapot or dragon :) \$\endgroup\$ – Rickard Jul 20 '11 at 10:55

The file formats does not depend on the graphics API. For OpenGL, the simplest and most commonly used format is the *.OBJ, or the *.3DS. It's easy to find on the web loaders for these files. Free models (and even) commercial model packs use these formats. The 3D modeller softwares can export to these formats too. (3ds max, blender, milkshape, etc).

  • 5
    \$\begingroup\$ -1 first thing you say: it doesnt depend on the graphics API, next thing you say is: for OpenGL it is xxx, that's contradictory. How did you verify that anyway? I'd say most common are custom formats, since they should be pretty optimized for the game(-engine) \$\endgroup\$ – Maik Semder Jul 19 '11 at 14:29
  • \$\begingroup\$ When i said that, i meant "if you use opengl". People who use OpenGL, use these formats as starting formats, because these are really simple (for example, *.OBJ is plain text) to read, really easy to export to, and to find over the net free models in these formats. Like in DirectX, *.X is commonly used by novice users, because the SDK comes with an "out of the box" *.X file class. And yes, You are right about the custom format, but custom formats not the way to starting with model formats, but next-next step. If you know what/how to export as custom format, you dont ask question like above. \$\endgroup\$ – ktornai Jul 23 '11 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.