Skip to content
Michalis Kamburelis edited this page Sep 9, 2020 · 33 revisions

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.

High priority

I actually managed to tackle most of these things :) My prose to address this is now part of X3D 4.0 (2nd working draft). It is summarized in X3D version 4: New features of materials, lights and textures.

(WORKING ON IT) Next priority

  • EnvironmentLight (image-based lighting). I initially planned to do it along with PBR for X3D 4.0, but just didn't have time. See notes on X3D version 4: New features of materials, lights and textures.

  • Express everything from glTF nicely as X3D nodes.

    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. Blender->glTF exporter is already much better (supports PBR, animations, metadata...) than Blender->X3D exporter. I strongly believe it should be possible in the future to convert glTF -> X3D node graph without losing any information.

    I document current knowledge about Converting glTF to X3D on this wiki. It contains various bits (some smaller some larger) that I want to handle, to "align" X3D with glTF.

    See glTF Inline in X3D.

Lower priority

  • Clarify "Projective texturing" component (that's actually high priority, it has to happen before X3D 4 release, but it's not on Michalis' head to do this :), I will only watch to make sure it is done)

The "lower priority" doesn't necessarily mean that something is not important (e.g. shadows 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.

Lowest priority

No longer relevant

License

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.

Clone this wiki locally