USD-X3D File Translator

USD-X3D File Translator Update

Ryker, a student employee of mine at the UND DREAM Lab (an AOUSD Contributing Member), has been developing a C++ language binding library based on the C++ X3D SAI spec (ISO 19777-4 X3DCPPSAIL), for the draft spec of v4.1 of X3D.

The UND DREAM Lab is planning to use X3DCPPSAIL 4.1 as the basis for a USDtoX3D file translator, which we hope will be included in the C++ AOUSD/Adobe File Translator plugin.

Ryker’s X3DCPPSAIL implementation is far enough along that he has turned to implementing the basics of geometry and materials for USD-X3D file translation code.

Below are screenshots of basic shape conversions he has done so far using a git repo clone of the existing Adobe File Translator code and Ryker’s version of X3DCPPSAIL.

He should have more translation features implemented as the fall semester approaches, which should be fairly robust by the time of the Web3D 2026 conference in October and the AOUSD Summit in November.

Aaron

Very cool, @aaronbergstrom - thanks for sharing!

Thank you for the introduction Aaron!

Hello everyone, my name is Ryker Ellingworth, and I have been working on the USD-X3D file translator, coinciding with the X3D 4.1 SAI specifications. Here is an additional screenshot of what I have been working on, as there has been steady progress in the translation of materials, basic geometry, and now lighting.

I will post updates here about my progress, I am excited about how the project is looking so far, and there is a lot of progress to come!

  • Ryker Ellingworth

Here is another update on the USD-X3D file translator! This week I have been working primarily on lighting, materials, and smoothing out the code for geometry import and export. I wanted to create a couple of files that showcased all of these aspects, and the files made have turned out to be pretty cool. Below are images of a solar system and a robot arm, each displaying some of the components that I have been working on, X3D on the left, USD on the right. I am happy with these current results and am excited to keep moving forward with this project! Thanks to everyone following along!

  • Ryker Ellingworth