Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenDDL/OpenGEX importer #44

Closed
ghost opened this issue Feb 22, 2014 · 12 comments
Closed

OpenDDL/OpenGEX importer #44

ghost opened this issue Feb 22, 2014 · 12 comments
Assignees
Milestone

Comments

@ghost
Copy link

ghost commented Feb 22, 2014

I'd love to see support for this standard (OpenDDL/OpenGEX) made as a first class citizen within the library. I have an implementation (https://github.com/dysfictional/openddl) in progress that I'd be happy to have included at which time we're both happy with it.

@mosra
Copy link
Owner

mosra commented Feb 22, 2014

Yes! I'd love that too. The current Collada importer is in bad state, Collada support in 3D editors (e.g. Blender) isn't advancing much further, the format is underspecified and parsing all that cross-referenced XML mess isn't anything I would particularly enjoy :-)

In fact I planned to start implementing this as soon as the Blender exporter is done to have something to test with (I don't have Maya or Max). Also Eric Lengyel promised that he will release reference OpenDDL parser at some time, which could be eventually built upon.

@mosra mosra added the feature label Feb 22, 2014
@ghost
Copy link
Author

ghost commented Feb 23, 2014

I own a license to the C4 Engine which has the code in place as is, but the code is under NDA. So given some time on my hands I want to write a test suite to compare parsing implementations to see if my code's behavior conforms to the reference implementation. No ETA on the Blender exporter yet, though is apparently in the works.

@mosra
Copy link
Owner

mosra commented Feb 23, 2014

That would be great.

On the engine side I need to "invent" missing APIs for animation, lighting, camera properties etc., currently there is only rudimentary support for meshes, materials and scene hierarchy, which isn't nearly enough for serious usage. The APIs will be part of the core library, but I think it would be best to include the importer only as a plugin (similarly to ColladaImporter) to keep the core library as small as possible.

@ghost
Copy link
Author

ghost commented Feb 24, 2014

That sounds logical.

I was thinking OpenDDL could form a general purpose format for serialising user configuration and such (via plugin)

@ghost
Copy link
Author

ghost commented Mar 18, 2014

The Blender exporter is due to come out after GDC2014.

My parser is nearing the alpha milestone and definitely hackable if that's your thing.

@mosra
Copy link
Owner

mosra commented Mar 18, 2014

Thanks for the info!

@ghost
Copy link
Author

ghost commented Mar 27, 2014

The OpenDDL parser library now has the features required to build an importer on top of it.

@mosra
Copy link
Owner

mosra commented Nov 17, 2014

Update: Blender OpenGEX exporter is now in beta, I'm slowly starting importer plugin implementation. There is template code on the official website, but it does not fit my API decisions, so I need to write the parser from scratch.

@mosra mosra changed the title Feature Request: OpenDDL/OpenGEX OpenDDL/OpenGEX importer Nov 17, 2014
@ghost
Copy link
Author

ghost commented Dec 7, 2014

You may be interested in my project which at the moment provides a fairly low level Lexer front end. https://github.com/stoneware/oddl

@mosra
Copy link
Owner

mosra commented Dec 8, 2014

Hi, I wondered where all the code went... :) I already have fairly complete OpenDDL parsing code, just need to write tests for everything. Thanks though.

@mosra
Copy link
Owner

mosra commented Jan 20, 2015

I finally published first OpenDDL parser implementation. You can watch the progress in the opengex branch of magnum-plugins repo, but be aware that the API and functionality may change significantly before I put it in master. What's currently done:

  • Full OpenDDL parser (can open any valid OpenDDL file)
  • Rough OpenDDL hierarchy and type validation
  • Comprehensive tests for OpenDDL parser and validator
  • Documentation and example usage for OpenDDL parser and validator
  • Automatically dereferenced references (currently all referenced are parsed as strings)
  • Validation of full OpenGEX 1.1 specification (can open *.ogex files exported from Blender and say that they are valid)
  • Basic mesh import
  • Basic material import
  • Basic texture and image import
  • Basic scene hierarchy import

After all these boxes are ticked, the OpenGEX parser will be able to replace and deprecate COLLADA importer, closing this issue. More functionality will be added afterwards.

@mosra mosra modified the milestone: Last pre-Vulkan release Mar 10, 2015
@mosra
Copy link
Owner

mosra commented Mar 24, 2015

Uhh, I totally finally did it. The last bit (documentation) is in mosra/magnum-plugins@0dacf34, documentation upload is currently in progress.

It took me only 13 months to close this issue, yay!

@mosra mosra closed this as completed Mar 24, 2015
@mosra mosra added this to the 2015.05 milestone Feb 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant