Adding 3D File Types and Animation

3d-animation-video

 

Adding 3D File Types and Animation

Planned from the start, Zest3D was to incorporate industry standard libraries and support for CPU physics, image handling and 3D model/animation support. To achieve this we understood that we would need to make use of the Crossbridge C++ compiler capabilities, to interface with leading C++ open-source libraries. These libraries would include (but not limited to):

  • Bullet Physics
  • OpenIL Image Library
  • Assimp Model/Animation Library

Since adding Bullet Physics and OpenIL to Zest3D (in dev branch, mostly complete), Zest3D already supports the majority of the following image formats:

  • Blizzard game textures – .blp
  • Windows Bitmap – .bmp
  • Multi-PCX – .dcx
  • DirectDraw Surface – .dds
  • Dicom – .dicom, .dcm
  • Flexible Image Transport System – .fits, .fit
  • Graphics Interchange Format – .gif
  • Radiance High Dynamic – .hdr
  • Macintosh icon – .icns
  • Windows icon/cursor – .ico, .cur
  • Interchange File Format – .iff
  • Interlaced Bitmap – .lbm, .ilbm
  • Infinity Ward Image (doesn’t work with MW2 iwi files) – .iwi
  • Jpeg – .jpg, .jpe, .jpeg
  • Jpeg 2000 – .jp2
  • Homeworld texture – .lif
  • Half-Life Model – .mdl
  • MPEG-1 Audio Layer 3 (Amazon MP3s work, Apple’s do not) – .mp3
  • Kodak PhotoCD – .pcd
  • ZSoft PCX – .pcx
  • Softimage PIC – .pic
  • Alias | Wavefront – .pix
  • Portable Network Graphics – .png
  • Portable Anymap – .pbm, .pgm, .pnm, .pnm
  • Adobe PhotoShop – .psd
  • PaintShop Pro – .psp
  • Pixar – .pxr
  • Raw data – .raw
  • Homeworld 2 Texture – .rot
  • Silicon Graphics – .sgi, .bw, .rgb, .rgba
  • Sun Microsystems, .sun
  • Creative Assembly Texture – .texture
  • Truevision Targa – .tga
  • Tagged Image File Format – .tif
  • Gamecube Texture – .tpl
  • Unreal Texture – .utx
  • Valve Texture Format – .vtf
  • Game Archive – .wad
  • Quake 2 Texture – .wal
  • Wireless Bitmap File Format – .wbmp
  • HD Photo – .wdp, .hdp
  • X Pixel Map – .xpm
  • Doom Graphics

We are now embarking on our next major compatibility feature. Thanks to ongoing work by Ben Whiting, we are currently rolling in some of the first major community additions into the Zest3D engine, which is incredibly exciting for us. 😀 As with our approach to image handling, early on we supported a very limited set of file types, we even ignored support for JPEG and PNG which may have seemed strange as they are both handled by Flash. However, we did this in favour of a single threaded image handling approach that uses the OpenIL C++ library to add support for all of the files mentioned above, which already includes support for JPEG and PNG 😉 All of this can now be handled by Zest3D using one single, concise and streamlined API.

We have therefore taken the same approach for 3D meshes, scene and animation file support. On our roadmap was full support for the Assimp C++ library and we are currently integrating this with the help of Ben. This library will provide users with a very large selection of file types that will soon be supported by Zest3D:

Common interchange formats

  • Collada ( .dae )
  • Blender 3D ( .blend )
  • 3ds Max 3DS ( .3ds )
  • 3ds Max ASE ( .ase )
  • Wavefront Object ( .obj )
  • Industry Foundation Classes (IFC/Step) ( .ifc )
  • XGL ( .xgl,.zgl )
  • Stanford Polygon Library ( .ply )
  • *AutoCAD DXF ( .dxf )
  • LightWave ( .lwo )
  • LightWave Scene ( .lws )
  • Modo ( .lxo )
  • Stereolithography ( .stl )
  • DirectX X ( .x )
  • AC3D ( .ac )
  • Milkshape 3D ( .ms3d )
  • * TrueSpace ( .cob,.scn )

Motion capture formats

  • Biovision BVH ( .bvh )
  • * CharacterStudio Motion ( .csm )
  • GRAPHICS ENGINE FORMATS
  • Ogre XML ( .xml )
  • Irrlicht Mesh ( .irrmesh )
  • * Irrlicht Scene ( .irr )

Game file formats

  • Quake I ( .mdl )
  • Quake II ( .md2 )
  • Quake III Mesh ( .md3 )
  • Quake III Map/BSP ( .pk3 )
  • * Return to Castle Wolfenstein ( .mdc )
  • Doom 3 ( .md5* )
  • *Valve Model ( .smd,.vta )
  • *Starcraft II M3 ( .m3 )
  • *Unreal ( .3d )

Other file formats

  • BlitzBasic 3D ( .b3d )
  • Quick3D ( .q3d,.q3s )
  • Neutral File Format ( .nff )
  • Sense8 WorldToolKit ( .nff )
  • Object File Format ( .off )
  • PovRAY Raw ( .raw )
  • Terragen Terrain ( .ter )
  • 3D GameStudio (3DGS) ( .mdl )
  • 3D GameStudio (3DGS) Terrain ( .hmp )
  • Izware Nendo ( .ndo )

An asterisk indicates limited support. For a list of planned formats, see the wishlist.

As you can see, this is a huge selection of file and animation type and combined with the extensive image handling capabilities, this should mean that Zest3D can handle almost any model that you wish to load into your projects. 😀 We are excited as we are fully aware that these features are a requirement for many of your professional projects. We hope that these new additions will position Zest3D as the most performant, flexible, simple to use and the most feature rich library available for the Flash and Air platforms.

Posted in zest3d Tagged with: , , , , , , , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*