Comments (12)
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.
from magnum.
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.
from magnum.
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.
from magnum.
That sounds logical.
I was thinking OpenDDL could form a general purpose format for serialising user configuration and such (via plugin)
from magnum.
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.
from magnum.
Thanks for the info!
from magnum.
The OpenDDL parser library now has the features required to build an importer on top of it.
from magnum.
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.
from magnum.
You may be interested in my project which at the moment provides a fairly low level Lexer front end. https://github.com/stoneware/oddl
from magnum.
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.
from magnum.
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.
from magnum.
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!
from magnum.
Related Issues (20)
- Update vcpkg packages to include EmscriptenApplication on Emscripten HOT 2
- Failing to link Magnum::Math? HOT 3
- few compile warnings HOT 1
- How to point to a local installation of `corrade` without using the bootstrap project? HOT 3
- undefined symbol: flextGLInit HOT 4
- Image rendered in gray since 1847c72 HOT 18
- Emscripten 3.1.21+ crashes EmscriptenApplication: "AsciiToString is not defined" HOT 4
- How to build from source on MSYS2 MINGW64? HOT 1
- keyReleaseEvent not triggered after printscreen on OSX HOT 6
- Conversion from CubicHermite to Bezier is wrong
- Mixing with raw openGL calls and Context::current().resetState() HOT 3
- C Bindings HOT 5
- WebGPU backend HOT 2
- Parallel rendering with glb files HOT 5
- Conflict with near and far Macros When Including WinSock2.h After Matrix4.h HOT 2
- emsdk compile error: typedef redefinition with different types HOT 4
- Memory leak when destroying GL::Mesh HOT 3
- Linking in Emscripten >= 3.1.52 doesn't work HOT 4
- Some trouble with LineGL3D shader when camera is close HOT 1
- Segmentation fault with nullptr instruction in AbstractShaderProgram at Cross-Compile HOT 21
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from magnum.