Collada and gui

What it says on the tin: a place to discuss proposed new features.
User avatar
HCodeur
Kobold
Posts: 27
Joined: Tue Jun 12, 2007 7:31 pm

Collada and gui

Post by HCodeur »

I think that 2 things can be do to make Ogre better (it s my point of view :) )

- Officialy use collada for exchange xml format and not Ogre xml format...
Why?All 3D editors integrate an collada exporter and importer and that's not the same for Ogre xml format (there s not a lot importers and exporters need to be maintained at each Ogre main version and for each editor).
Other thing, 3D exchange between editors will be more simple.

- Officialy integrate a gui based on overlays (QuickGUI or another one) and not use cegui. Cegui is very good but i think that it s better to use what Ogre has.

(Sorry for my english but i m french :) )
Helium Team
User avatar
betajaen
OGRE Moderator
OGRE Moderator
Posts: 3447
Joined: Mon Jul 18, 2005 4:15 pm
Location: Wales, UK
x 58
Contact:

Post by betajaen »

Personally, I don't think neither should be done.

1. Some people like Collada and some people don't (myself included). Ogre is a 3D rendering engine, and Collada is a format for gaming engines. It should be upto a 3rd party library or the game engine that Ogre is used with to implement such things. The Mesh/Material system is perfect for Ogre at the moment and it should stay that way.

2. I don't think there is an official GUI in the first place. CEGUI is included, because it is used with the Ogre Samples. If Sinbad decided to switch to QuickGUI, BetaGUI or RBGui used with the Samples doesn't make it official. Besides it's same argument again; Ogre is a 3D Engine. GUI's and such are on a higher level than that. This is probably the reason why the GUI elements in the pre-Dagon era were removed in the first place.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 538

Post by Kojack »

All 3D editors integrate an collada exporter and importer and that's not the same for Ogre xml format
Well, sony's collada web site list of collada supporting software only has about 10 3d editors, whereas there's 17 3d editors in the ogre wiki. :)

I'm sure there's some more collada ones available or in the works, but saying that all 3d editors integrate collada is really stretching it.


Before replacing ogre's xml format with collada could be considered, it would have to be verified that every feature of ogre's xml format is available in collada.
For example, while physx handles collada (ageia even helped write the physics spec), they still use their own xml and binary formats because collada can only handle a subset of what physx is capable of.
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

COLLADA is only a glorified *exchange* format.
And that's it.
It is like our dotscene format, but bigger.
It is - IMO - not suited for real-time loading.

There is a lot of hype going on right now.

Remember the hype about XML - especially from the Microsoft .NET evangelists?
The great exchange format, which made it possible for databases, applications to *speak to each other* ?

XML is an exchange format for applications, just like COLLADA is for graphics.
That is also why Ogre is not loading meshes from xml, but converts it into an optimised binary format (.mesh) first. :wink:
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 538

Post by Kojack »

It is - IMO - not suited for real-time loading.
True. But HCodeur did say replacing the Ogre XML format, not the Ogre Mesh format. So instead of numerous ogre exporters which all give out xml for the ogrexmlconvertor, we just need 1 collada to mesh converter and rely on the existing collada exporters of the various 3d packages.

That does have some advantages (don't need to write a ton of exporters), but also disadvantages. We have no control over the collada spec, so it could change. It's also pretty huge and has stuff we don't need but have to support (video and audio are planned on being added to it soon, there's already physics in it, etc).
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

You don't have to support it -- you just ignore the stuff that does not apply to your needs.
Do you need help? What have you tried?

Image

Angels can fly because they take themselves lightly.
User avatar
betajaen
OGRE Moderator
OGRE Moderator
Posts: 3447
Joined: Mon Jul 18, 2005 4:15 pm
Location: Wales, UK
x 58
Contact:

Post by betajaen »

Perhaps then it would be better to have some sort of utility that converts the COLLADA mesh information into the Ogre XML file format.
User avatar
AlphaWolf
Halfling
Posts: 70
Joined: Wed Jun 13, 2007 11:12 pm

Post by AlphaWolf »

betajaen wrote:Perhaps then it would be better to have some sort of utility that converts the COLLADA mesh information into the Ogre XML file format.
Then u have to maintain 2 converters. The collada -> ogrexml and ogrexml -> .mesh.

It would be better to have just one converter I think.
User avatar
betajaen
OGRE Moderator
OGRE Moderator
Posts: 3447
Joined: Mon Jul 18, 2005 4:15 pm
Location: Wales, UK
x 58
Contact:

Post by betajaen »

Doesn't the Ogre team maintain the XML -> Mesh? ;)

I can see what your getting at, but it's just the same as all of us converting file formats between 3D modellers; i.e. obj -> 3ds -> XML -> mesh.

The Ogre XML Mesh file format is an ingenious solution for exporting to Ogre, I see no reason why there can't be a COLLADA one.
User avatar
AlphaWolf
Halfling
Posts: 70
Joined: Wed Jun 13, 2007 11:12 pm

Post by AlphaWolf »

Ya got it. Yes collada -> ogre xml would be an n1 converter. I cannot do it because I am new to OGRE.
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7157
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 538

Post by Kojack »

You don't have to support it -- you just ignore the stuff that does not apply to your needs.
Yep. I didn't mean ogre would have to directly support reading audio and stuff, that was just a badly worded (had just woken up after 2 hours sleep) example of some things in there to show that collada is pretty big (and constantly growing).

Anyway, Khronos say that a runtime suitable collada format is on the way. That might be better suited than the current version.
kneeride
Bugbear
Posts: 807
Joined: Sun May 14, 2006 2:24 pm
Location: Melbourne, Australia

Post by kneeride »

AlphaWolf wrote:Then u have to maintain 2 converters. The collada -> ogrexml and ogrexml -> .mesh.
I thought that would be the most convenient way of doing this. Isn't that why ogre has a xml format? So that 3rd party developers can quicky create meshs
User avatar
syedhs
Silver Sponsor
Silver Sponsor
Posts: 2703
Joined: Mon Aug 29, 2005 3:24 pm
Location: Kuala Lumpur, Malaysia
x 51

Post by syedhs »

I think COLLADA support is a bit like egg & chicken problem :wink: . But I think everyone will agree that if everyone supports & implement COLLADA, the world will be better. Imagine creating a character in Blender, exported it to COLLADA and import it to 3dsmax without any deformation (or external converter).

But I think in your final product, you should convert it to the application-specific file format very much like Ogre's .mesh. COLLADA is all about exchanging data freely between applications - that is if I understand it correctly.
User avatar
HCodeur
Kobold
Posts: 27
Joined: Tue Jun 12, 2007 7:31 pm

Post by HCodeur »

First ok for GUI , it s better Ogre don t integrate it so each one can choose the best for him....It s a bit the OGRE ideology

For COLLADA:

- I didn t say replace mesh by collada but OgreXml by it. But a converter collada to ogrexml is a good idea.

- I think about COLLADA because it s a better Exchange format than OgreXml (not a lot of importers in 3D editors) and you don t have different exporters to devel.

- In blender for example you can choose what you need to export (only mesh, mesh with physics....). I don t test it on other editors but i think it s the same.

After reading your reactions i think that a converter collada to OgreXml can be a good thing.A dev group can work together on the same project on different 3d editors with collada and after convert to ogre xml. This converter can pick only what is needed for Ogre from collada to have a good Ogrexml to convert to mesh.....
Helium Team
User avatar
Azatoth
Gnome
Posts: 327
Joined: Sat Jul 10, 2004 6:46 pm
Location: Sweden
x 4
Contact:

Post by Azatoth »

We've been working on a Collada <-> Ogre tool called Plunger. The main developer is "nowhere", he posted about it earlier here.
A section in our wiki about it can be found here.
It's written in python, a view of the code can be found here. All code is released under the GPL.
Instructions on how to access the cvs can be found here.

The exporter is functional, it can convert simple meshes back and forth, but more advanced features are missing (animations etc.). We would love to get more people involved in the project. If you want to help, feel free to contact me or "nowhere".
Ember, GPL virtual world client.
Development blog
User avatar
nowhere
Kobold
Posts: 25
Joined: Wed Mar 23, 2005 1:49 pm
Contact:

Post by nowhere »

HCodeur wrote:For COLLADA:

- I didn t say replace mesh by collada but OgreXml by it. But a converter collada to ogrexml is a good idea.

- I think about COLLADA because it s a better Exchange format than OgreXml (not a lot of importers in 3D editors) and you don t have different exporters to devel.

- In blender for example you can choose what you need to export (only mesh, mesh with physics....). I don t test it on other editors but i think it s the same.

After reading your reactions i think that a converter collada to OgreXml can be a good thing.A dev group can work together on the same project on different 3d editors with collada and after convert to ogre xml. This converter can pick only what is needed for Ogre from collada to have a good Ogrexml to convert to mesh.....
Azatoth pointed me at this thread. I'm the author of Plunger. I initially wrote it because our project has two 3D clients using different graphics engines and we were trying to make our lives easier for our artists.

On buildaworld.net, I've tried to explain this already, see the nice ASCII art a bit down at http://www.buildaworld.net/forums/viewtopic.php?t=45
(I go by the nick "kai" on that forum)

Anyhow, development on plunger has halted so far because I'm a bit short on time and there wasn't much feedback to in until recently. If people are interested in using it, I'll gladly accept patches and/or help people to code up their own plugins for it.
Wombat - Open Source asset management
WorldForge - The original Open Source MMO project
Plunger - A 3D mesh converter
User avatar
HCodeur
Kobold
Posts: 27
Joined: Tue Jun 12, 2007 7:31 pm

Post by HCodeur »

Hello "nowhere" i see a little part of your work it s nice but for the moment i have no time to help you (i will contact you later when i ve finished something...) but plunger interrest me.

Other thing to be more clear about my point of view i ve draw something :

Image


As you see actually the main problem with OgreXml is that it is one way. When you export in Ogrexml you can t reload into your 3d editor because there s not a lot of importers
Other thing, each 3d editor main version and each Ogre main version need an exporter -> a lot development.

If Ogre use collada , export and import is possible with a lot (and not all :) ) of 3d editors and you don t have different exporters and importers to devel.
Just a precision : I don t integrate collada exporters into the second picture because it s native to a main part of 3d editors.

I hope i ve been more clear :)
Helium Team
User avatar
betajaen
OGRE Moderator
OGRE Moderator
Posts: 3447
Joined: Mon Jul 18, 2005 4:15 pm
Location: Wales, UK
x 58
Contact:

Post by betajaen »

It's not going to work. Because there will always be something between the COLLADA format the Mesh and skeleton, be it a Class or another File Format.

The Ogre Mesh format is very good; The Mesh data itself is neatly ordered in the file, it can be read in directly into memory and an Entity can be created. No bloat.

If there was a COLLADA serialiser that directly read in the COLLADA files, it would obliviously have to parse every line and convert every string into floats or Vector3's and shove them into arrays; Pretty inefficient there.
User avatar
HCodeur
Kobold
Posts: 27
Joined: Tue Jun 12, 2007 7:31 pm

Post by HCodeur »

No you don t understand :) , my idea is to convert collada to mesh with a converter like OgreXmlConverter not use collada in live into a Ogre apps :)
On my picture i only show the convert process (outside an ogre apps) to have a .mesh and a .skeleton.....

I know that parsing xml in a apps is not very fast :)
Helium Team
User avatar
betajaen
OGRE Moderator
OGRE Moderator
Posts: 3447
Joined: Mon Jul 18, 2005 4:15 pm
Location: Wales, UK
x 58
Contact:

Post by betajaen »

I can see what your getting at, but the Mesh file format changes quite often. Will your converter keep up with it? It seems to me to be more sensible and use the Ogre XML mesh, which one of the features is semi-future proof.

And I think some of us (myself included) would like a copy of the generated mesh to edit by hand, and the only way is through the XML version of the mesh.
User avatar
Game_Ender
Ogre Magi
Posts: 1269
Joined: Wed May 25, 2005 2:31 am
Location: Rockville, MD, USA

Post by Game_Ender »

Ogre provides the classes to make a future proof binary mesh creator (that how the OgreXML converter does it). It would of course make more sensor to go collada->OgreXML->Ogre Mesh. You could use an XLST transform for the collada ->OgreXML if wanted
User avatar
HCodeur
Kobold
Posts: 27
Joined: Tue Jun 12, 2007 7:31 pm

Post by HCodeur »

Hum i see
A collada converter to Ogre xml would be better for you !!
After if mesh format change the converter has to change , it s the same for OgreXmlConverter.

I will think about a bit more and try to edit a Collada/OgreXml converter but it will not be simple (and it will not be for now i haven t not enought time for the moment)
I just hope that you see what i mean.... :)
Helium Team
User avatar
nowhere
Kobold
Posts: 25
Joined: Wed Mar 23, 2005 1:49 pm
Contact:

Post by nowhere »

Game_Ender wrote:Ogre provides the classes to make a future proof binary mesh creator (that how the OgreXML converter does it). It would of course make more sensor to go collada->OgreXML->Ogre Mesh. You could use an XLST transform for the collada ->OgreXML if wanted
Well, plunger does more than Collada -> <Client format>, as we wanted to also be able to convert our existing media. Given both Plunger and the OgreXML converter are classic unix command line tools, you can just pipe your collada file into Plunger, pipe the plunger output into OgreXML and get your mesh. That's as powerful as having a collada->ogre binary converter, with the additional benefit that Ogre takes care of updating part of the code (the OgreXML converter).
Wombat - Open Source asset management
WorldForge - The original Open Source MMO project
Plunger - A 3D mesh converter
User avatar
KungFooMasta
OGRE Contributor
OGRE Contributor
Posts: 2087
Joined: Thu Mar 03, 2005 7:11 am
Location: WA, USA
x 16
Contact:

Post by KungFooMasta »

I skimmed through the thread, sorry if I overlooked some parts. It does seem that HCodeur's idea is good. Since we create mesh/skeleton from XML, a Collada <-> 'Ogre XML Format' would be a good tool, and (I would imagine) reduce the number of Mesh Exporters.
User avatar
nowhere
Kobold
Posts: 25
Joined: Wed Mar 23, 2005 1:49 pm
Contact:

Post by nowhere »

It was my impression that Collada doesn't do skeletal animation yet. Anyone who's looked into the Collada specs more recently with a comment on that?
Wombat - Open Source asset management
WorldForge - The original Open Source MMO project
Plunger - A 3D mesh converter
Post Reply