summaryrefslogtreecommitdiffstats
path: root/code/AssetLib/VRML/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'code/AssetLib/VRML/README.md')
-rw-r--r--code/AssetLib/VRML/README.md21
1 files changed, 21 insertions, 0 deletions
diff --git a/code/AssetLib/VRML/README.md b/code/AssetLib/VRML/README.md
new file mode 100644
index 000000000..3c84707ad
--- /dev/null
+++ b/code/AssetLib/VRML/README.md
@@ -0,0 +1,21 @@
+# WRL/X3DV to X3D file format converter
+
+## VRML and X3D 3D model formats background
+"VRML" 3D model files use either `VRML97` (`.wrl`) or "Classic VRML" (`.x3dv`)
+file formats.
+
+The X3D model specification was introduced after these formats, as a superset of both WRL and X3DV.
+While X3D can understand the _content_ of WRL/X3DV files, it can't directly parse them because
+X3D uses `.xml` files, rather than `VRML97` or "Classic VRML" format.
+
+But, if a converter is available to migrate just the file format (preserving the content), so that
+the `.wrl`/`.x3dv` files can be converted to an X3D-compatible `.xml` file, then the X3D importer
+will be able to load the resulting model file.
+
+## How this code is used
+The sole purpose of `Parser`/`Scanner` (adopted from the `meshlab` project) is to take a
+`VRML97` (`.wrl`) or "Classic VRML" (`.x3dv`) file as input, and convert to an X3D `.xml` file.
+That's it.
+
+By passing the converted in-memory `.xml` file content to the `X3DImporter`, the `.wrl` or `x3dv`
+model can be loaded via assimp.