Collada physics tool (import and export)

Hello, this is a very simple application using Collada-Dom, OpenGlut, and my Physic Library.

http://www.newtondynamics.com/downloads … er.msi.zip

It is a simple Viewer and can also export snapshot of loaded scenes, nothing really big and certainly not as powerful, versatile or polished as the converters that are implemented on the more popular physics engines listed in the front page of the Collada website.

This is not intended to be a very sophisticated application, it was more for me to test the operation of the Collada import/expert support of my engine.

It has the capability to navigate the scene with the keys: w, s, a, d, z, x in combination with mouse left click.
Left clicking on dynamic object can pick them.
Right click open the simple menu.

I provided two sample files one is a joints setup and the other a small stack of miscelaneus shapes. (I am only usin the starndard ones supported by Collada)

Known issues:
-On the Collada graphics side if is not fully functional, because is can only load simple vertex formats, position, normal and uv
-On the Collada physic side I had not implemented multiple shapes, so if some body try to load rigid bodies with arrays of shapes will only load the first shape in the array
-Springs and Dampers on joints is not implemented yet.
-On my physics engine side the simulation run at all time with not auto sleep, so large stack will probably collapse doe to drift error on the calculation of reaction forces, also it will run slow with large stack even is they are a rest since it never freezes bodies.

If any body test it with files other than the one provide with the viewer, I will be appreciated a great deal since my goal is to abide by the standard as mush as I possible can.
So far the only assurance that my interpretation of the specification is correct is that the files pass the Coherency test provide by the Collada Group, but that is not guarantee of functional correctness, and I am positive there are lots of errors in my interpreation.

For those that have scenes produced with other tools with complex graphics not supported by my converter at this time, you can load them using the “Load using collision proxies as visual” command form the menu.
Also if you want have teh chance to position the camera before the simulation start you can select disable simulation from the menu before loading the scene.
Finally some scenes the camera is position far away from the action and some scenes do not even have camera at all, for that I also privided a command to center the camera to the middle of the dynamic bodies.

Finally I still have a long way to go on the converter and I still have lot of questions, but I tried to be as faithfuilt to teh specifications as possible avoiding the proliferation of vendor specific parameters.
I think that for the questions I still have I will be is better position if I can show the state of the tool.

Thank you to the Collada organization for providing the specifications and also the library.

Does it come with source code? I only see binaries.

Oh, thanks for taking a look.
There is not source on that demo because it is a premature release on the next version of my physics engine.
My engine is not open source. However I added all of the functionality need it to get information for things like serialization, custom file formats and visual debuggers.
I used the Collada specifications to test the functionality of the interface.
When the engine is released all of the source code used to create the Collada converter is open source.
I usually would not release anything anywhere, but given that I was using the Dom API, I thought it would be nice to let few people see the state of the work I am doing.
Also I thought that if I was making any mistakes, maybe the Collada experts here could tell me what’s wrong with it so that I can corrected as I go along.
The files I provide are by no mean anything special, they are just snapshot of simple scenes I released with the old SDK, but I will try to make a XSI plug-in that will allow me to make more interesting demos. The source of the Plugin in will also be open source.

Again Thank you for checking it out.

I made a small update to the tool. I added some new features to the viewer and some new files.
http://www.newtondynamics.com/downloads … er.msi.zip

Here are some videos that show some of the scene in the demo:
http://www.newtondynamics.com/downloads … losion.wmv
http://www.newtondynamics.com/downloads/JengaVideo.wmv
http://www.newtondynamics.com/downloads … Solver.wmv

Nothing big really and maybe no as important to collada members as the “only four legitimate professional physics engines” recognized in the offical front page and confirmend in this Collada official document:
http://www.continuousphysics.com/ftp/pu … eb3d_6.pdf

But perhaps this will help to clear once and for all of these insinuations, speculations and exaggerations made on some forum an mailing list about why people should not use technologies other that the one endorced by Collada physics representatives and soem of the selft appointed physics appriasals.
http://ode.org/pipermail/ode/2006-December/021186.html

Hi Julio,

It is great to hear Newton supports COLLADA, and in my upcoming presentations/papers I’ll definately include Newton.

The focus in the paper was on physics engines that run on consoles like Playstation 3 and XBox 360, and as far as I know Newton is not available for them.

The topic was also addressed here a few months ago:
http://www.continuousphysics.com/Bullet … php?p=4093

Thanks,
Erwin

Maybe I am reading it wrong but I could not find the part of the paper about consoles development, ps3 or xbox2, I believe the title was Collada Physics, and this is what clearly said.

|DOMAIN|

To be practically useful, a standard physics representation needs to
map well to functionality of popular rigid body dynamics engines
[Ageia] [Havok] [Bullet] [Open Dynamics Engine]. Most rigid body
dynamics engines provide specific constraints for common cases
like hinge, ball socket, slider, etc. COLLADA Physics provides a
generic mechanism to describe constraints,

I do not really need you to mention me on any of your presentations you should focus you presentation on your library. It is Collada organization I have problems when you made these selective clacifications that for what I can see the only goal is product placement of your library.
No that there is anything wrong with that when it is done by an impartial representative, but is it immoral when the person making the classification only list the products that are combinient to him including himself while comvinently excluding or forgeting the other developers.
Specially when some of thes excluded developers are used more seriusly in more projects than many of the ones making that list: http://www.physicsengine.com/links.html
Not to mention that of the features you listed on that paper and also in the collade 1.4.1 specifications, Newton would be the only engine that actually supports then all without the need of any extra directives.
When you put those things together it really seems that you as Collada representative in a Collada presentation are leaving a bunch of stuff out.

Newton is not the only technology that is overlooked I just find estrange that given the poor penetration and acceptance of Collada, the organizer will happy to get more adopters who are willing to use it voluntarily but it seems that the interest is very selective.
This is not the only time these things happens. Your website there seems to the poster center for papers that specialize in bashing and discredit other technologies, in particular Newton.
http://www.continuousphysics.com/Bullet … ght=newton
http://www.continuousphysics.com/Bullet … ght=newton

I have challenged these publication and their creators asking some proof other that thier testimony so that I am other people can actually verify these claims, but i never get an answer.
Instead all I get is a bunch of pseudo intellectual wanabe, given opinions and trying to ridicule me with phases like “you are confrontational”, “you are off base”, an other non senses trying to make me look bad for asking.
For some reason you have chosen to show these publications like trophies, despite the fact they are contested and that they were made with code written over three years ago, that’s quite a shame . You tell me if this is not intellectual Hypocrisy.

My employer is Sony Computer Entertainment, as you can see at the top of the COLLADA Physics paper, hence the focus has been on physics engines that were support consoles like Playstation 3 at the time of writing.

As for your suggestion about the papers by a Swedish university student on physics engines comparisons, it was outdated as I mentioned in the title. http://www.continuousphysics.com/Bullet … .php?t=755

I’ll invite the authors for some comment/feedback.

Thanks,
Erwin

Oh I see, I guess it is just another of those confusion that seems to be so common with everything around you. If I understand correctly, this is a paper that is about consoles but do not mention the word console in the entire text. The relation to consoles must be deduced but an indirect abstraction.
The target audience must read the occupation or the email address of one of the authors of the paper to make the connection to just one of these consoles.
What kind of console does this company Media Machines, Inc. kvictor@mediamachines.com make? because I do not think the make xbox or game cube.

So in conclusion:

  • the paper is about PS3 and xbox 360, but is does not mention then anywhere in the text.
    -The title say Collada Physics, but that’s not the real the title; the titles is “physics engines that run on consoles like Playstation 3 and XBox 360”
    -The physics engine that run on those consoles are: Phyx, Havoc, ODE, and Bullet. But the reader must make a leave of faith and pretend that ODE has PS3 and Xbox360 package.
    -It states that those are the most popular engines but that’s not really what it means, it means that these are the ones that support Collada standard, but once again half of the examples do not really have Collada support.
    Thank you for clarifying that up. Maybe you should make an addendum to clarify those points, you know people are not as smart as you are and some migh not make those conections.

You seem to be saying PS3 and XBOX360 is what make Bullet the third better engine. I would just say, that makes you the best opportunists.
Isn’ it truth any code can be compiled for the PS3 and Xenon processors and that the only real barrier is the legal license issues, which seems to have been waived in your case.
Not every small developer have the good luck to work for a Giant like Sonic and Microsoft and convince their employer to give away the right of the code you right for them. Not only that but use their proprietary information for self promotion, I guess Sonic is a really good employer so more power to you.
What I do not understand is what does that haves to do with a file format like Collada, and how compiling you code to console hardware makes your particular library better and the most popular.

Sony is one of the COLLADA promotors. Our paper focus was to find shared functionality in physics engines. If Newton is not mapping well to this, please let us know.

ODE and Bullet have open source licenses that are compatible with consoles.

Hope this helps,
Erwin

Oh I do not think I want to continue this conversation,
You seem to be a person with little integrity toward the lesser competitor.
Just in a few post you had changed subject three times, involving your employer, changing the title of the paper, and making wild excuses to justify actions that do not make sense even allowing for a huge stretch, so maybe is best to stop here.

I do not really know what do you mean by “let us know”, but I do not think you are in the position to penalize me or any other small developers from using Collada. Good luck with your project and presentations.
I will focus my time more on what I know how to do best maybe I can catch up:
http://www.newtondynamics.com/downloads … ollide.wmv

Maybe one day I too can attract attention and get support for console port.
Then and only then we can put to the test, that insinuations of yours that PS3 and Xbox can only make those engines the better ones.

Julio,
Erwin,

There is indeed frustration building up in the Physics engine world. The main issue is that there is no way to compare physics engine. It is really difficult to establish a benchmark. It took many years to do that in the 3D Graphic s domain, and at this date it is far to be perfect !

Customers need benchmark and feature list to be able to make a choice.

In Graphics, you can find a single API that can run on all the systems you want to test, so one test that can run on many systems and make some valid comparisons.

But in the Physics domain, things are a lot worse. There is not one single API to write to, and even if there was, there is no establish test procedure, and there is a lot of difference in the feature set.

With COLLADA Physics, it is now possible to create scenes that can be loaded by all engines. So it is possible to start testing for features. It is also possible to establish test that can ‘pass’ or ‘fail’ with objective criteria.

It is our goal (COLLADA working group) to create a COLLADA Physics conformance test, to create an official ‘100% COLLADA Physics conformance’ stamp for physics enabled tools, which will bring the quality label that game developers and in general middleware users need.

Once you have a collection of those, then you can create one or several benchmark, and then compare products objectively.

The COLLADA Working Group need your help. We need to collect a lot of COLLADA Physics files that we can use for this conformance test. In order to contribute, please upload COLLADA Physics samples to the owl repository.

Note: a lot of developers are using owl to test out their new implementation of COLLADA. It is a good idea for all developers to provide sample COLLADA document in owl, in order to improve interoperability.