21 Nov 2010 id   » (Journeyer)

I have been working on these for a while after looking at that SNAP
thing I decided to put up this premature announcement.

First, I am working on a framework called AP3, which abbreviates
nothing but stands for ape coz I love monkey.

AP3 is a 3D application development framework which currently included
a basic scene graph, a sample OpenGL view to display 3D information
currently just some meshes, but all the goals are


  • Data model, built around COLLADA, has a quite complete and working COLLADA parser which I barely use, however.
  • Basic object or view, heavily inspired by Blender's internal data structure (unnecessarily), these basic view objects are in so many way like NSView, just in 3D. The model data above can be shared and exchanged and ID'ed between basic view objects (Think of duplicate linked, if you know Blender). They might have a single parent and children objects just like NSView... and any scene graph system. The APIs will also try to imitate NSView's, but with additional Z axis, having 3D ray "hitTest" to map the mouse action, well you get the picture.
  • Animation system, time-based with graphs, FK/IK
  • Rendering engine backend(s), quite like GNUstep's rendering backend but more visible and can have more than 1 of them working at the same time. The rendering engine backends  can be either used for shading 3D data model which attached shading language (eg. GLSL or Renderman) over an NSOpenGLView or invoking other photo realistic renderer, the first idea is to support Aqsis renderer. The default real time engine should be extensible enough for general purpose rendering but it will not define a strict display API like GNUstep's display backend.
  • 2D raster engine. This engine is a rewrite of my own maliwan project. It can be used to implement procedural texture generation also a GIMP clone if you want to make one. The data model was built around lcms library which dealt with ICC color profile management. Mainly the old node system will be rewritten since I think I have a better design for that based on DAG'ed invocations (which will also be used in the procedural 3D modeling)

     This project can be described as a fork of GNUstep 3DKit but didn't
    share the code (not anymore, I think).

    The second project, I called this one 3Σ, which will utilize the AP3 framework, is just like GORM but in 3D though has way cooler name. It will include many 3D modeling functionalities as I want to make this one a Houdini killer and ... I can just dream about that for now, the first phase would just be able to use it to layout the scene and linking methods and properties' relationships and generate a GORM file?!?!

    The website of the project is at http://mus3.sourceforge.net/ which currently has no source code pool (or it did? must be pretty obsolete). I'm managing the code that some part was GPL'ed but the project should be at least LGPL so this will take some time to make a release or put it in public. Beside that, most parts need a clean up and I am migrating clean source (now 2 files) into my local git and will have it on-line ASAP.
    If anyone is interested and want to join the development you can write me.

    Links

  • http://mus3.sourceforge.net
  • http://qstx.blogspot.com/<wbr>search/label/3Σ
  • Latest blog entries     Older blog entries

    New Advogato Features

    New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

    Keep up with the latest Advogato features by reading the Advogato status blog.

    If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!