Related Links:

  • ArgoUML
  • Doxygen
  • boost
  • Spirit
  • Poser Format Documentation
  • Poser
  • DAZStudio
  • LGPL License
  • What Is PoJamas?
    Poser is a 3d character animation program. Characters like the one pictured above are comprised of .obj files which contain coordinate data and .cr2 files which contain additional data related to the alterations or "pose" to be applied to the objs that make up the character model.

    While applications such as Poser, DAZ Studio, and Carrara allow for very sophisticated manipulation of existing characters, many character creators often find themselves having to resort to "hacking the cr2" in order to do things at character creation time that in concept are relatively simple. (For example copying the properties of a skeleton from right to left.)

    PoJamas is an LGPL project which aims to provide an open source and license cost free Java and C++ development kit (API) to support parsing/reading/writing Poser file formats (cr2, crz, hr2, etc). In addition PoJamas wants to be more than just a free parser. PoJamas intends to provide a framework for abstracting away the actual underlying parser being used.

    Don't like the performance of our our of the box parser? Replace it with your own and plug it in! We think applications written to the PoJamas api shouldn't care as long as your parser implements the PoJamas methods the application calls!

    The end result should be that application and utility developers can spend less time reverse engineering and parsing Poser files and more time creating new and exciting utilities and applications!

    Needless to say we encourage alternative parsing methods and strategies and believe unifying them under a pluggable framework will make experimenting with different parsers and parse strategies more practical while minimizing the impact to the applications that rely on them.

    So PoJamas Wants to Replace Poser?
    Heck no! Not even close. We simply want to make it easier for commercial developers, and hobbyists alike to write plugins, applications, and utilities, that support the various Poser file formats. We also want to make it easier to experiment with different parsers and parse strategies within those applications.

    Remember PoJamas is LGPL so it's perfectly fine to use PoJamas in closed source commercial projects. All we ask for in return is that you contribute back any tweaks or enhancements you may make to PoJamas itself. Bottom line, we don't want to assimilate your code, we don't want to build a new Poser, or DAZ Studio. We just wanna build the defacto Poser file processing framework so we can see more applications, plugins and utilities that support Poser's file formats. :)

    What's Going on Right Now?
    Dufgrinder has been working like a madman on the Java implementation. I myself am attempting to write a BNF (Backus Normal Form) definition of the poser .cr2 file format. Once completed it will allow us to use any of the many BNF friendly parser generators such as Spirit to build the C++ parser. The BNF template will be be provided as part of the PoJamas source distribution under the terms of the LGPL and others are encouraged to contribute to it or use it to build their own parser!

    Contributors:
    The project has already received encouraging feedback and support from the community. The following in particular have already made contributions:

  • Robert Templeton: Has donated his entire "Unofficial CR2 Documentation" to the project. In the near future this will be provided on a wiki where the community will be able to update it to include information about the newer poser versions, etc.
  • Chriss Vincelette: Project admin. Maintains this website, along with the PoJamas project roadmap and BNF descriptions for the various poser file formats. He enjoys open source, long walks on the beach, team based engineering, and talking about himself in the third person.
  • Dufgrinder: An generous individual who roams sourceforge. He has contributed (12/07/2007) complete source code to a parser he's written entirely in java. He has also contributed JUnit tests and an example application that uses his parser!
  • Vaal: An individual whom I work with in real life and known by many as the great Vaal has gratiously donated his moms old 400mhz G4 AGP Mac! (Thank You Vaal's Mom!) If I ever manage to get my hands on a Sonnet Encore/ST upgrade card this wouldn't be a bad machine for developing MacOS X builds of PoJamas.
  • SourceForge: Provides hosting, exposure, and all kinds of support to this and many other open source projects!
  • SourceForge project page: http://sourceforge.net/projects/pojamas/.

    SourceForge.net Logo      Support This Project