[x3d-public] X3D V4 Draft Requirements Proposal

Michalis Kamburelis michalis.kambi at gmail.com
Wed Mar 29 03:50:51 PDT 2017


2017-03-28 5:05 GMT+02:00 Andreas Plesch <andreasplesch at gmail.com>:
> Support for multiple geometry formats, including OBJ, glTF

I applaud this idea, as we need interoperability, and glTF is a nice standard.

But I would remove OBJ from this list, or be *careful* what parts of
the OBJ are necessary to be supported.

- The OBJ is an old format. It doesn't have many features nice for
modern rendering (like a specification of shading suitable for modern
GPUs). And it does have some features that are unhandy, and were
probably really useful only by the initial Wavefront OBJ
implementation (trace_obj).

- The OBJ specification is not officially maintained by anyone, I
think. It's not updated. The creators of it, and the original software
implementing it, are closed now.
(https://en.wikipedia.org/wiki/Wavefront_Technologies ,
https://en.wikipedia.org/wiki/The_Advanced_Visualizer ). Noone since
then has taken the effort to update the OBJ specification in any way,
as far as I know.

- Although it has a specification
http://www.martinreddy.net/gfx/3d/OBJ.spec , most implementations
treat it more like a "de-facto" standard, implementing a different
subsets of the format, whatever seems useful. There are features in
OBJ format that are widely supported (vertexes with normals, tex
coords), and there are features not supported by any existing
implementation (I have not seen yet an implementation that supports
Bezier patches defined in OBJ files; or one that supprts d_interp or
trace_obj).

Bottom line: While OBJ is a popular format, I would either discourage
from using it (we made X3D for a reason --- it's really better on all
accounts), or at least specify only a precise subset of OBJ features
required to be supported.

Regards,
Michalis



More information about the x3d-public mailing list