[x3d-public] Feature comparison of glTF and X3D as Interchange Formats

Leonard Daly Leonard.Daly at realism.com
Thu Sep 21 19:46:22 PDT 2017


Michalis,

To compare X3D's runtime with glTF is not an appropriate comparison. It 
has nothing to do with the heaviness or lightness of X3D's runtime, but 
the fact that glTF does not have one.

If the work flow is to ingest models and make modifications, then the 
runtime capabilities are irrelevant to the extent that those 
capabilities do not impose requirements on the importing tool.

Since the addition of components of a profile is strictly a browser 
choice, it does not have any place in a comparison of specifications. 
This comparison was not to establish test cases for bench marking 
various browser that support glTF or X3D (or both). This was strictly a 
comparison of features that are in the specification.

If you want to see a comparison of browsers please feel free to go ahead 
and design and do the testing. It is beyond my available time right now.


Leonard Daly




> 2017-09-21 23:40 GMT+02:00 Leonard Daly <Leonard.Daly at realism.com>:
>> Since higher level X3D
>> Profiles include a lot of run time and glTF does not include any, it would
>> not be a fair comparison -- it wouldn't even be relevant. Someone might need
>> to work in a specific environment which would preclude X3D's runtime.
> But an X3D browser can implement the parts of X3D responsible for the
> missing features (vs glTF, in your table) without "a lot of run time".
> I know that it's more-or-less what I'm doing myself (details below).
>
> If you consider some X3D browsers as "heavier" on resources than some
> glTF browsers, then you should point and
> compare these specific browsers, and mention that browser X (which
> happens to use X3D) is heavier on resources than browser Y (which
> happens to use glTF). As far as standards go, saying that X3D requires
> "heavier runtime" for the same features is not true, in my experience.
>
> I actually do implement in my X3D browser various features that you
> list as missing in your table (since they are indeed missing from the
> Interchange profile). I'm quite sure that implementing these features
> does not make the runtime "heavy", at least not more than implementing
> them using glTF would be.
>
> Some details:
>
> - Implementing [Indexed]QuadSet nodes (which is part of CAD component,
> and provides "Quad surface model" feature in your table) is very easy,
> and it does not require anything special from the runtime. It's just
> another geometry node. (Some APIs, like OpenGLES, may not support
> quads, but you don't pass polygons from IndexedFaceSet straight as
> polygons to OpenGLES either.)
>
> - Using shaders is something that all renderers do already, regardless
> if it reads X3D or glTF. Exposing shaders to the X3D author is
> relatively easy, and it does not require any "heavy runtime", you just
> copy some data from X3D shader nodes to your renderer shaders.
>
> - Implementing animations (using morph and joints) is indeed not
> trivial (to do it efficient). But it's the same level of difficulty as
> doing it with glTF.
>
> - Implementing bump mapping etc. using X3D CommonSurfaceShader is the
> same level of difficulty as implementing these features using glTF.
> The input format doesn't really matter here much.
>
> Regards,
> Michalis
>

-- 
*Leonard Daly*
3D Systems & Cloud Consultant
LA ACM SIGGRAPH Chair
President, Daly Realism - /Creating the Future/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170921/d31e9870/attachment.html>


More information about the x3d-public mailing list