Difference between revisions of "X3D Is VRML Dll"

From Web3D.org
Jump to: navigation, search
Line 38: Line 38:
** TODO: understand distinction between freewrl and freeX3D releases.
** TODO: understand distinction between freewrl and freeX3D releases.
* CastleEngine / view3dscene browser
** Pascal code, compilable to Windows with FreePascal (www.freepascal.org) TODO: Support .NET compatible DLL's?
* CloudCompare: https://github.com/cloudcompare/cloudcompare
* CloudCompare: https://github.com/cloudcompare/cloudcompare

Revision as of 07:50, 6 September 2017


Project proposed and commenced in August 2017. Goal is to produce a software component which will encourage support of X3D in commercial and open source applications, particularly for those applications that already support VRML import/export. This project will test and demonstrate the proposition that "X3D is VRML", or "VRML is X3D".

This target audience for this software component is developers, and the goal is to give them a tool to improve X3D support in their applications without the need for expertise in the X3D standard itself. This project will leverage the idea that if an application already supports VRML then the task of mapping an X3D scenegraph into the application logic has already been performed and support of X3D (XML encoding) should be straightforward. Likewise, if an application supports the XML encoding it should be straightforward to add support for VRML encoding.

It is recognized that there are already translators and conversion tools to convert ClassicVRML encoding to XML Encoding. This project is essentially a repackaging of those codes into a readily deployable library. One motivation of this project is the discussion with potential users in the medical 3D printing community, through DICOM Working Group 17. Among users who may be classified as managers and project managers:

  • The structure of the X3D standard as an abstract standard with multiple encodings is a complication which does not add value for them. In their view, there are two file formats: X3D, which is the XML encoding of the X3D standared; and VRML, which can either mean the Classic VRML encoding of the X3D standard, or it can mean a file conforming to an earlier version of the VRML standard.
  • There is a strong preference for native import/export of files in required formats over conversions of existing or created files.

Project Vision

For any commercial or open source application which currently supports either VRML or X3D import and export, the deliverable from this project will allow the application's developers to easily upgrade so that

  • To the extent allowed by an application's support of a X3D Profiles and version, content can be imported into the application through both ClassicVRML encoding and XML Encodings.
  • The application can export to both ClassicVRML encoding and the XML Encoding
  • Pre X3D standard versions of the VRML standard are supported as possible. The hope is to at least support Interchange Profile content, with well defined and documented failure modes to encourage developers to upgrade their applications support for X3D scenegraph

Platform and Language

Propose that making the first deliverable a Windows DLL, readily integrated into a Windows .NET application, will offer the most impactful release. The DLL will offer text stream to text-stream conversion functions with a simple C-language interface. The implementation language of this project should be transparent to the user/developer; but the final product should be deployable with a small number of DLLs with sensible footprint.


For XML Encoding to ClassicVRML

For VRML to X3D (XML Encoding)

The intention is to support in some way all versions/dialects of VRML, with recognition that conversion may be incomplete or error prone for VRML prior to VRML97.

  • CastleEngine / view3dscene browser
    • Pascal code, compilable to Windows with FreePascal (www.freepascal.org) TODO: Support .NET compatible DLL's?

Additional Encoding support

These resources are being saved for extensions supporting additional encdings