[WF-Protocols] Summary of proposed file serializations

Matze Braun matze at braunis.de
Wed Jul 2 04:14:29 PDT 2003



On Wed, 2 Jul 2003, Aglanor wrote:

> Here's a summary of the proposed file serializations for the Open Model
> Format as of today:
> 
> * XML: human readable, for development and debugging. Lots of tools
> around.
And I must agree with Jorrit here! xml is THE standard we'll get lots of 
parser, and stuff like validators or xslt for free! That'll simply save us 
lots of development time and will make the life alot easier for users. (As 
a user you can hack converters in any language you want, I dunno any 
language which has no xml parser yet)

> 
> * IFF: binary, compact, efficient, proposed standard.
> 
> * YAML: human readable, more compact than XML.
> 
> * Bach: human readable, more compact than XML.
Though intersting they're all far away from the acceptance level of xml. 
Anyway some more points about the format:

-If we keep to a simple DOM it shouldn't matter which one we use and we  
 should be able to switch easily later.
-PLEASE don't think about efficiency now!!! This format should be 
 extensible and easy to write and parse which often is the contrary to 
 efficiency. Flexibility should be top priority! I don't want to trade 
 good design for efficiecy.
-This format should be an exchange format not a native format IMO, as it 
 can't be efficient as a native format anyway:
	-In a generalized file data will most probably not arrive the 
	 order the 3d engine expects it. This will result in jumping 
	 around in the file while reading or huge memory usage and 
	 caches.
	-As the format is general it might contain features that the 
	 engine can't use directly. (Some simple examples: double sided 
	 faces, UV coordinates attached to vertices instead of faces,
	 some transforms aren't supported by the engine). These things 
	 would need to be converted again while loading.

So we should really focus on an exchange format IMO. Regarding the file 
format as a native one is an error, the engines should better stay with 
their own formats.

> 
> ***********************
> 
> 	I'd like to note that given a data structure, any serialization is
> possible, and translations between them, while keeping the information
> intact, so IMHO we should just focus on decide just two for the model
> format design:
> 
> 	- one human-readable for initial development and debugging.
> 
> 	- one final, most efficient format which will be used in practice.
As noted above, I'd also use xml for final format (maybe put in a 
zipfile...) Every other solution will need alot more work for writing 
parsers. Efficiency for an exchange format isn't that important.

> ...

Greetings,
	Matze



More information about the Protocols mailing list