Horde3D

Next-Generation Graphics Engine
It is currently 29.03.2024, 07:07

All times are UTC + 1 hour




Post new topic Reply to topic  [ 14 posts ] 
Author Message
PostPosted: 16.04.2008, 22:20 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
What with both blender and FBXConverter both exporting collada files that are generally incompatible with Horde's ColladaConverter, I think it may be time for me to write an additional converter tool.

Firstly, there isn't any sign of specifications for the .geom and .anim files, and while I can of course reverse engineer them from the engine's loading code, we probably want to work up formal specifications anyway, for future proofing.

Secondly, I need to pick which file format to convert, possibly several. My current candidates in order of preference:

  • OGRE '.mesh.xml' -widely supported/exported, very flexible, used in many games (and multiverse)
  • DirectX '.x' - widely supported/exported, a bit tricky to work with
  • Wavefront '.obj' - suuported/exported everywhere, lacks flexibility and animation
  • Irrlicht '.irr' - lots of converters in the works, fairly flexible, new and untested
  • Max '.3ds' - widely supported/exported, hard to work with, animation tricky/impossible

Comments/suggestions requested.

I have dealt with all of these formats at one time or another, so none of them should take that long to work up. Any of them would make the engine far friendlier to everyone - artists especially.

_________________
Tristam MacDonald - [swiftcoding]


Top
 Profile  
Reply with quote  
PostPosted: 17.04.2008, 06:50 
Offline

Joined: 26.03.2008, 02:58
Posts: 160
sounds like a great idea. i like the formats you decided to support, could only add one FBX perhpas in place of 3ds. I used to use it allot, not so much these days (don't use motionbuilder anymore), but since it has Autodesk behind it now, it's opened and has some relevant support, might want to add it to the fold.


Top
 Profile  
Reply with quote  
PostPosted: 17.04.2008, 11:38 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
DDd wrote:
sounds like a great idea. i like the formats you decided to support, could only add one FBX perhpas in place of 3ds. I used to use it allot, not so much these days (don't use motionbuilder anymore), but since it has Autodesk behind it now, it's opened and has some relevant support, might want to add it to the fold.

Autodesk has a nice FBXConverter tool, that spits out Collada files. With a little work, I am hoping we can get Horde's ColladaCOnverter to be compatible with that, which gives us FBX for free.

_________________
Tristam MacDonald - [swiftcoding]


Top
 Profile  
Reply with quote  
PostPosted: 18.04.2008, 11:16 
Offline

Joined: 14.04.2008, 15:06
Posts: 183
Location: Germany
I have already written an exporter from a proprietary format to .geo. I could also give you same sample code for python.

Edit: Attached format description.
I have not yet written a converter for morphed / animated models. That part must be proof read by someone who knows more about these parts.


Attachments:
File comment: complete .geo and .anim description
_format_3.zip [7.02 KiB]
Downloaded 1074 times
Top
 Profile  
Reply with quote  
PostPosted: 18.04.2008, 21:17 
Offline

Joined: 14.04.2008, 15:06
Posts: 183
Location: Germany
I noticed that the format does not define anything related to endianness. We can deduce if it's big or little endian using the version number for now:
Code:
// [...]
int version;
fread(&version, 4, 1, f);
short *pVersion = (short*)&version;

if(*pVersion)
    printf("little endian\n");
else
    printf("big endian\n");

This just assumes that the version number is smaller than 65536.


Top
 Profile  
Reply with quote  
PostPosted: 18.04.2008, 21:57 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
Good stuff, thanks!

_________________
Tristam MacDonald - [swiftcoding]


Top
 Profile  
Reply with quote  
PostPosted: 20.04.2008, 12:13 
Offline

Joined: 14.04.2008, 15:06
Posts: 183
Location: Germany
swiftcoder, have you thought about writing an extendable converter which could read several formats and transform them to Horde3D? Maybe you can even use ColladaConverter as a starting point since there's some usefull code for things like mesh optimization.


Top
 Profile  
Reply with quote  
PostPosted: 20.04.2008, 12:34 
Offline
Tool Developer

Joined: 13.11.2007, 11:07
Posts: 1150
Location: Germany
The updated documentation is really good. I would really appreciate it if someone has the time to write additional converter support.


Top
 Profile  
Reply with quote  
PostPosted: 20.04.2008, 14:41 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
Codepoet wrote:
swiftcoder, have you thought about writing an extendable converter which could read several formats and transform them to Horde3D?
My intention is to create a framework with plug-able converters. Whether they will be distributed as one executable or a cluster of executables, I have not decided.

_________________
Tristam MacDonald - [swiftcoding]


Top
 Profile  
Reply with quote  
PostPosted: 20.04.2008, 19:32 
Offline

Joined: 14.04.2008, 15:06
Posts: 183
Location: Germany
It would be really good if you could provide me with the details for your plugins, when you are ready. If you use a public repository for your code, that would be even better. Then I could help writing a plugin for some formats.


Top
 Profile  
Reply with quote  
PostPosted: 20.04.2008, 19:43 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
Codepoet wrote:
It would be really good if you could provide me with the details for your plugins, when you are ready. If you use a public repository for your code, that would be even better. Then I could help writing a plugin for some formats.
Ja, once I have the initial system up and running, I will put up straight away.

_________________
Tristam MacDonald - [swiftcoding]


Top
 Profile  
Reply with quote  
PostPosted: 09.05.2008, 10:40 
Offline
Tool Developer

Joined: 13.11.2007, 11:07
Posts: 1150
Location: Germany
Thanks a lot for the updated documentation, I have integrated it now in the official version.
We have now started with the writing of a python script to export model data from blender. It looks quite possible to be realized, although we have just started.


Top
 Profile  
Reply with quote  
PostPosted: 09.05.2008, 17:58 
Offline

Joined: 14.04.2008, 15:06
Posts: 183
Location: Germany
:)

A working blender exporter would be really useful. Good luck.


Top
 Profile  
Reply with quote  
PostPosted: 10.05.2008, 17:33 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
Volker wrote:
We have now started with the writing of a python script to export model data from blender. It looks quite possible to be realized, although we have just started.
Excellent! I am afraid my converter project is on hold for the moment (too much going on for now), but I will be happy to help with testing, etc. if you need.

_________________
Tristam MacDonald - [swiftcoding]


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 41 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group