Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
This wiki collects some Michalis Kamburelis thoughts about the X3D standard for 3D models. I'm the author of Castle Game Engine, a game engine using X3D intensively (both as internal scene graph, and as the primary format to interchange 3D models).
Important X3D missing features and bugs
This is a wish-list of larger things that I would like to see in the X3D standard. Some of these wishes have a solution in existing extensions (not just from Castle Game Engine). I emphasize that this is from the point of view of a game engine, biased by my own views.
- What is PBR and why do we want it in X3D?
- How to add PBR to X3D?
- Note that the ideas described on How to add PBR to X3D? deal also with the question "how to add
CommonSurfaceShaderfeatures to the X3D specification". In a perfect world, we do not add the
CommonSurfaceShadernode itself, but we make it's features available through other fields (extending
Appearancewith new fields).
- I want to be able to express everything that can be expressed in glTF 2.0 using X3D nodes. glTF is quite great, it was designed by Khronos -- people who know what features a modern 3D format should have. It also already has much better Blender exporter (that supports animations) than X3D. I strongly believe it should be possible in the future to convert glTF -> X3D node graph without losing any information. This requires adding PBR materials (see above) to X3D, and binary meshes to X3D.
The "lower priority" doesn't necessarily mean that something is not important (e.g. shadows and binary meshes are very important for a modern game engine). But not everything urgently needs to be in X3D specification. E.g. Castle Game Engine has our own extensions to define shadows, and that's somewhat OK. Sure, it would be better to have cross-browser way to "talk" about shadows in X3D, but lack of it is not a big problem in practice.
- Consider also other extensions from Castle Game Engine that could be generally useful in the X3D standard.
No longer relevant:
- Include CommonSurfaceShader in the official X3D specification. This was my proposal when I was not thinking about PBR yet, and I only wanted to upgrade the existing Phong lighting model. Consider this proposal as obsolte. Better focus on what I described in How to add PBR to X3D?.
Other X3D specification problems
Improve the way we can submit specification changes
Consider all the ideas and prose on this wiki under public domain, free to be included in X3D standard or anywhere else.
The X3D testcases in https://github.com/michaliskambi/x3d-tests are under permissive Apache 2.0 license. If needed, I can re-license them on public domain too -- let me know.
Any comments and suggestions (to this wiki or testcases) are welcome, you can submit them e.g. as issues to this GitHub project.