[Bf-committers] (Fwd) Re: XML-based file format for blender

bf-committers@blender.org bf-committers@blender.org
Mon, 14 Jun 2004 09:37:31 -0500


Hey,
 I held a mini email discussion with Philipp on his code and have 
some additional information now. I'm fowarding the result to the list 
here. It turns out he had enabled both binary and xml saving so I was 
wrong on that. It wasn't immediately obviouse from the one file in 
that zip.

------- Forwarded message follows -------
From:           	Philipp G=FChring <pg@futureware.at>
Send reply to:  	pg@futureware.at
Organization:   	Futureware 2001
To:             	jeremy@marzhillstudios.com
Subject:        	Re: XML-based file format for blender
Date sent:      	Mon, 14 Jun 2004 02:52:35 +0200

Hi Jeremy,

> I realize what you had meant when you wrote it but I believe that it
> may be more useful to have the xml save as a save option not the only
> possible save format. I also believe the other developers would
> prefer that method. Perhaps I misread your code though does your code
> also allow binary saving?

Yes, the code allows both binary and XML saving. There already is a 
Save-Option, where the user can check whether he wants XML, or not.
Binary has the advantage of the speed, XML has the advantage of 
interoperability. But the rest is the same.

> My question was to get a consensus of the other developers. What do
> they want. I'd hate to do all the work and have no one want it in the
> codebase. :-)

Sure. I just wanted to tell you about my motives behind it.

> Geometry and scene data shouldn't be too difficult. The other parts
> of a blender file like screens and such can be implemented as x3d
> extensions. Yes it would be structured differently than the binary
> format but all the information will be there. Binary formats aren't
> designed to be very readable though so the structure isn't very
> useful. Just putting them in xml tags doesn't automatically increase
> parseability. 

No! It does. I gained most of the knowledge I have about the Blender 
fileformat in the 48 hours after I had it in XML, since there are extremly=
 
powerful mechanisms to analyse and visualise XML. 

> I could write a perl app to parse the binary file 
> almost as easily as the xml you output.

We did that (blend2cs). But after I coded it in Blender directly, I saw th=
at 
our old external converted was very wrong about the fileformat!

> all the data I need is there 
> in the DNA files.


> Putting it into a structure that others can use easily seems to me to
> be a more useful target than just getting it into xml.

We have been working on blend2xml converters and the BlendXML saving for 
months! Reverse-engineering .blend files, before they got opensource, and 
doing it directly in Blender, afterwards. 
After it took 2 month to get XML out of Blender, it took 1 day, to get 2 
converters to other formats working. Yafray and Graphviz.


> > What I have additionally is a blender 2.27 version, that has a lot of
> > debugging output for all the reading and writing functions, to be able=
 to
> > find the correct function, and something like a call-tree.
> > If you are interested, I can make that version available for you.
>
> Any code could be useful so go ahead and send it to me if you want.
> I'd appreciate any debug info I can get. It would make it easier for
> me.

Ok, I will upload all the stuff in some days.

> Anyway my email was just an analysis and report of what you did so
> the developers could reach a consensus on how to procede from there.
> We'll see what they say :-)

Sure. I just want to provide you with all necessary information, and try n=
ot 
to influence your decisions too much.

I am still interested in Blender speaking XML, I just do not have the time=
 for 
it at the moment.

Regarding your usage question:

I have three scenarios for native XML fileformat, that I am (and the graph=
ic 
artists around me are) interested in:
1: Creating games in Blender, and having a standalone game-engine with its=
 own 
physic engine, ... that can parse Blender games or only Blender scenes.

2: Generating a Blender scene dynamically from database in a Web-Applicati=
on, 
so that the Browser Plugin gets served dynamically generated XML code.

3: Interoperability with other 3D modelling software

Many greetings,
Philipp G=FChring



------- End of forwarded message -------