I'm creating an FPS game. I'm writing my own game engine. So far all the backend stuff is going great. I'd like to support md2 as the native file format for 3D Objects, but I also want to use skeletal meshes. Does anyone know if the md2 file format supports skeletal meshes?

In-case you need to know, I'm going to use blender as my Mesh creation tool and C++ as my programming language...


For got to mention, the engine is based on OpenGL...

Alright, for anyone who is reading this, I just found the Doom 3 md5 specifications (http://tfc.duke.free.fr/coding/md5-specs-en.html). It gives you some help on writing a parser (see bottom of link), but the example doesn't support lighting and texture mapping (the second set of example code allows for animation). Thanks @Neverender for answering my question...

  • \$\begingroup\$ I already know md2 supports keyframe animation, but I'd prefer skeletal animation... \$\endgroup\$ – Joshua Vega Jun 22 '11 at 20:36

No, nor did the MD3 format used in Quake 3. As far as I know, skeletal animation was introduced as recently as id Tech 4 and the MD5 model format.

| improve this answer | |
  • \$\begingroup\$ In that case, do you know of an Open Source MD5 parser and maybe an export plugin for blender? \$\endgroup\$ – Joshua Vega Jun 22 '11 at 20:45
  • 2
    \$\begingroup\$ @jsvcycling: Assimp: Open Asset Import Library has .md2, .md3 and .md5( in work ) support. assimp.sourceforge.net \$\endgroup\$ – momboco Jun 22 '11 at 22:01
  • \$\begingroup\$ Perhaps a format like Collada or FBX would be more apt. \$\endgroup\$ – Arelius Jun 23 '11 at 0:21
  • 1
    \$\begingroup\$ @Arelius: Collada and FBX are designed more as interchange formats, they shouldn't be the format that your engine works directly with at runtime. The expense of translating them to an efficient representation should be paid once at import/export time. MD5 is one such optimized representation. \$\endgroup\$ – Neverender Jun 23 '11 at 1:17
  • \$\begingroup\$ But if you don't care about interchange for the specific format, then it doesn't make much sense to use a very standardized format. Just keep your data-structures pointer-free, and dump that to disk. \$\endgroup\$ – Arelius Jun 23 '11 at 23:06

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.