COLLADA Loader

I’m getting ready to resume work on a COLLADA Loader for Xith. If someone has already written an Open Source COLLADA Loader for Xith or is currently doing so, please let me know.

More info on COLLADA:
http://www.collada.org/

Our Xith application:
http://whoola.sourceforge.net/

I don’t think anybody started one, but I would be very interested by one.

same here :slight_smile: would be great to have a full on loader:

  • animation (key frame not baked)
  • groups (with animation)
  • shape names.
  • bones (for kicks)

good luck dude- if u need models to test with i can
try and make u some :slight_smile:

And, to speed up the things I would be pleased to help ( in the limits of my knowledge… ).

i’ve also started lookin into it… xml format- nice…
i will update and test the new xith3d (bit behind)
sodding day job…

[quote]same here :slight_smile: would be great to have a full on loader:

  • animation (key frame not baked)
  • groups (with animation)
  • shape names.
  • bones (for kicks)

good luck dude- if u need models to test with i can
try and make u some :slight_smile:
[/quote]
Here here, that would be excellent.

Even if we could satisfy all tasks with different loaders that would also be good.

Let’s make sure any such loader is in the toolkit so it can be supported into the future :slight_smile:

Cheers,

Will.

I’d be interested in helping out as well.

Andy.

I and my team have had quite a bit of experience writing loaders for Java3D.

We are currently on the process of writing a new X3D loader (interchange only - geom) and COLLADA is right up that alley since both are using XML and have allot similarities. (it woudl be great to set up a properties file or other that simple switches the loader syntax between the two)

It would be nice if we could at least share idaes if not code between these projects.

So I’ll start…How are you building your parse processor? We started using SAX of the parsing of course, but right now this means the element/node processing is hand coded (as it has been in past binary formats). But the Xj3D loader uses Javacc to generate the parse processor…

Comments?..

i was thinking SAX also… hows is your loader coming
along?

[quote]i was thinking SAX also… hows is your loader coming
along?
[/quote]
You can see a demo here:
http://earth.whoola.com:8080/space/dock/

In the demo, there are two space shuttles in the opening scene. The shuttle on the left is loaded with a pre-existing OBJ loader. The shuttle on the right is loaded with the COLLADA loader I am developing.

The source code is available but I would not dive into it just yet. Give me another month or so to fix it, clean it up, and make it reusable. I will announce then.
http://whoola.sourceforge.net/

I’m using JAXB to parse the COLLADA files. JAXB automatically converts the COLLADA XML Schema files into Java classes. I had tried this with the X3D XML Schema files some time ago but it did not work.

I am learning 3D as I go. I would prefer to do networking code. If anyone else starts writing an Open Source COLLADA Loader for Java, please announce.

Hi
It seems, that collada supports lot of things other file-formats don’t support, like bones and skin in contrast to key animation, which are the only way for animations in other file-formats.
I think for implementing these features we would need a loader which automatically creates the xith representation and a physical representation, like in odejava. + the loader should support the adding of jointAmotors to the bones for controlling the object.

This may only be a minor detail, but I think it is very important for the design of the loader.

I think it would be a bad idea for us to program such a loader independently. I suggest to create a new project (at java.net?) and maybe to use crofts code as a starting point. This will also help us to update to newer releases of the collada format.

So, what do you think?

Arne

Should we put it here?:
https://xith-tk.dev.java.net/

X? md5? ms3d?

i have to say, im very impressed with md5, see if what you are trying to accomplish can be done in md5 (Doom3), there are alot of available resources on the net regarding its format. Its also ASCII…

Just my 2 un-needed pence…

Definitally! Please do.

Some info on doing so is here: http://xith.org/XithToolkitContributions
Before doing so, please ensure it satisfies our requirements: http://xith.org/XithToolkitGuidelines (namely, that it is licensed the same as Xith3D itself (a BSD-like license), and the API is well documented).

The benifits are outlined in the wiki, but the two big ones are: It is distributed along side Xith3D in every build, and if changes are made to the Xith3D core API, your code will normally be updated at the same time by one of our developers.

Feel free to email me directly if you have any questions regarding this process, and please apply for developer status on the xith-tk project.

Thanks,

Will.

we’ve got loaders for those ?

I’ve created a system for my own 3d-models that contains of 4 files

  • one with geometry and bones for xith (the bones should be able to affect vertex positions, I still have to implement that)
  • one with the geometry of the bodies for odejava
  • one with the joints between the bodies
  • one for synchronization with xith

Because I use my own fileformat it would be good if it could be converted somehow into such a system with collada. This way I wouldn’t have to write my own exporters :wink:

Arne

I dont think so, but then again, i dont use Xith, so you might have.

Im just saying that all of the above formats are easier to create a loader from because they have such a big following. Alot of resources are available on all three, and importers/exportors for X and md5 are available for every single modeler known to man!

my 2 pence…

There’s a complication. I am using JAXB to parse the XML. My understanding is that JAXB will be integrated into the Java Core when Java 6 comes out. In the interim, I am including the JAXB JARs as part of the Java Web Start installation of the demo. Take a look:
http://earth.whoola.com:8080/space/jaxb/

I could include just my code in the Xith distribution with instructions to developers that they would need to download and distribute the JAXB JARs like I do to make this work for pre-Java 6.0 systems. What do you think?

Yeah I think it is a good idea to include the code into the xith-tk and then to put there also some kind of readme file with a link to a download site for the jars.

OK, I did that. I uploaded it here:
http://whoola.sourceforge.net/

When I get access to xith-tk, I will upload it there as well.

Not thoroughly tested, etc., so you might want to wait a couple of weeks for the next release before downloading.

Release early, release often.

Great stuff :slight_smile:

Done.

Will you commit it to the TK CVS as part of the official toolkit? If so, what package? org.xith3d.loaders.collada sounds good, what do you think?

Cheers,

Will.