m3d pipeline

BlitzMax Forums/BlitzMax Programming/m3d pipeline

skidracer(Posted 2009) [#1]
I am interested in developing replacement technology for assimp which is the default method for initial max3d projects to load their geometry.

To start with I have some basic .b3d parser code in BlitzMax that I would like to evolve into something that can also:

manage embedded glsl chunks
manage embedded body joint networks
work closely with content chain providers

I would prefer the reference code be maintained in .bmx but if there really is a brilliant existing binary standard emerging am all ears...

<edit>

OK assimp does have collada, i'm back on track, all I have to do is work out how to switch -fexceptions for bmk builds...


Difference(Posted 2009) [#2]
I'm interested in using assimp with minib3d.

Are you building assimp as a blitzmax module?
Bruceys mods already have boost, if that helps or can be integrated...


skidracer(Posted 2009) [#3]
Peter, if you are interested I've published my sandbox stuff, checkout from here:

http://max-edit.googlecode.com/svn/trunk/mod/axe3d.mod

I cloned assimp as I have had a few problems with their server but left boost as an extern but would appreciate some feedback.

There is also a static build of max3d in there but not really intended for public use.


marksibly(Posted 2009) [#4]
Hi,

Here's where I was thinking of going with Load/Save stuff:

http://groups.google.com/group/bmx3d/browse_thread/thread/aa6df90bdd646492

This handles imbedding stuff like shaders/textures etc in a file, but I'm not sure about working closely with content chain providers!

If you mean writing a 3DS or whatever exporter plugin, then I think it'd go something like:


//my max3d exporter plugin.cpp
#include "max3d.h"
#include "3dspluginstuff.h"

m3dModel Convert( 3dsModel *model ){
//create model/add surfaces etc...
}

//what 3ds calls
void Export( 3dsModel *model,string path ){
m3dModel m3dmodel=Convert( 3dsmodel );
m3dSaveObject( m3dModel,(path+".max3d").c_str() );
}



Which'd generate a serialized max3d object.


Difference(Posted 2009) [#5]
Peter, if you are interested I've published my sandbox stuff, checkout from here:


Thank you skidracer, it's just what I need to get started.
Assimmp compiles right away, and my little test below seems to work.
I'll post again if I manage to get some minib3d interaction going.




Russell(Posted 2009) [#6]
I must not have been paying attention, but what is the story with Max3D? Is this available now, is it free, does it replace miniB3D? What is it, a dll, Bmax module or something else?

Thanks,
Russell


skidracer(Posted 2009) [#7]
Russel, I've stickied the max3d announcement thread in General Discussion.


Difference(Posted 2009) [#8]
I now have a working module that imports models into minib3d.

I'm getting ready to release it, but have found some problems with b3d import. Collada, 3ds, x, and obj seems ok.

If anyone can test/help there is a description here: http://groups.google.com/group/bmx3d/browse_thread/thread/fdcb073d834b5e8f

Thanks in advance.

[EDIT] : Tom Speed fixed it, and Mark improved the fix, but it looks to me like the b3d assimport can do with little TLC. More in the Google code discussion

[EDIT2] First version of my module is out: http://blitzmax.com/Community/posts.php?topic=82586