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?


2 Answers 2


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, 2011 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, 2011 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\$ Jul 19, 2011 at 14:29
  • 1
    \$\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, 2011 at 15:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .