Convert VRML97 To X3D
Convert VRML97 To X3D
This article documents how to convert a VRML97 file to a VRML Classic Encoding X3D file.
Change the header from #VRML V2.0 utf8 to:
#X3D V3.0 utf8
Add a profile statement:
PROFILE Immersive
Field names
This section details how to convert some field names
Change the Fieldname of node LOD from range to children
Scripting
This section details how to convert scripting.
Change field declarations from eventIn, field, exposedField, eventOut to:
inputOnly, initializeOnly, inputOutput, outputOnly
Ecmascript
This section shows details on converting vrmlscript/javascript scripts to ecmascript.
Change vrmlscript/javascript scripts to ecmascript, url "javascript:" becomes:
url "ecmascript:"
Change methods to properties Functions like Browser.getCurrentFrameRate() are now ecmascript properties. So they become Browser.currentFrameRate
Other functions that have changed are:
- getName() became name
- getVersion() became version
- getCurrentSpeed() became currentSpeed
- getCurrentFrameRate() became currentFrameRate
- createVrmlFromString() became createX3DFromString
- createVrmlFromURL() became createX3DFromURL
- setDescription() became description
Some functions have moved from the Browser object to the X3DExecutionContext object:
- addRoute() is now Browser.currentScene.addRoute()
- removeRoute() is now Browser.currentScene.removeRoute()
- createVrmlFromString is now createX3DFromString
- getWorldURL() became worldURL
Java
Java scripting will need to be converted to the new SAI interfaces. A more detailed writeup of this process will follow.