Xbuf format – A developer friendly game exchange format for 3d data

@atomix said: Hi,

I’ve written too much. :slight_smile: So one question for TL;DR:
What is the benefit of use this instead of OGEX:
For OGEX:

  • you have to use ogex exporter and then write an importer for your specific need?

It’s already a hard part, else jMonkeyEngine already have it (error detection, recovery, semantic,…). pspeed wrote jogex (iirc not finished) a java parser for opengex that create the memory structure. This part, that is auto-generated by protobuf for pgex, already takes lot of works and need to be maintained.
On other side, OpenGEX already include bone, animation, skin. stuff that pgex didn’t include (part of the TODO list).

@atomix said: For pgex: 1 - Exported into ogex, You just have to write an "extracter" that take info from a parser ( generated for your language). 2 - if ogex not supported You just have to write an "exporter", and also benefit with the parser.

Sorry, I don’t understand. ogex == OpenGEX != pgex

@atomix said: In 1, I see quite attractive advantages, but note that it's only for 3d model without any other things right now. In 2, I see a lot of extra steps: - I have to write into binary format - write a protobuff schema - pgex help me in the middle - later I need an extractor.

Even if I can write a protobuff for blender, it may not worth the effort I have to spend. And use protobuff for parse a text file .obj for example sound pretty dumb.

You don’t need to write a protobuff schema, except if you want to create an pgex extension for an uncommon usage (no requirement to be supported by other pgex tool).

I don’t understand the relation between protobuff and .obj.

About blender and jme, I already create the base code (blender exporter and jmonkey importer), as POC. Now I add “feature” in pgex and I don’t care about binary encoder/decoder (it’s the job of protobuff + pgex). I only care about mapping between 2 memory “schemas”

I relink a video about a tool I work on where I used pgex (for a part of the communication) of jme3-as-blender-renderer