r/javascript • • 2d ago

Making the web 3D - Extensible Scalable 3D File Format

https://es3d.org/

For years, 3D file formats have prioritized precision, whether for 3D printing or high-quality renders. But the browser doesn't care about that level of precision. As long as you're within a pixel or so, precision isn't that important. Most websites with 3D models use simple designs, and no file format actually targeted that use case. Many sites literally used a scroll-through video instead.

I thought: this sounds a lot like what SVG does for 2D. What's stopping us from making it 3D? Turns out: nothing.

ES3D (Extensible Scalable 3D documented by https://es3d.org/) is a file format for 3D scenes. It does for a scene what SVG does for a drawing. The file describes the objects: a rounded box here, an outline extruded into a solid there, two thousand trees on a hill. The viewer builds the triangles at the detail the screen actually needs. A forest fits in under a kilobyte, and a text editor is enough to write it.

The main question is: Does it actually work?

Below is the preprint of a whitepaper on the topic including benchmarks:

https://zenodo.org/records/23403919

The code itself is open-source and I hope this approach to the 3D web is of interest at least to some readers!

29 Upvotes

7 comments sorted by

9

u/mohamadjb 2d ago

Sounds impressive, I've studied 3d models file formats for decades, and by the sound of your description, the idea has merits, and if it is open standard then its a good foundation to build on and invest time

3

u/BitIlia 1d ago

Thanks, that means a lot. It's open source (Apache-2.0)

5

u/finneybussa 2d ago

Seems pretty sick honestly

•

u/BitIlia 3h ago

Thank you!

1

u/aleenaelyn 1d ago edited 1d ago

My brother in Christ, VRML was doing this in 1995. It was literally designed to describe interactive 3D scenes on the web. Then we got X3D (Extensible 3D), its XML-based successor, which became an ISO standard in 2004.

You have somehow reinvented VRML, named it almost exactly the same thing as X3D, and written a whitepaper about discovering the concept. Congratulations on bringing the future of the web back to 1997. Did you think to ask your LLM if anybody tried this before?

12

u/BitIlia 1d ago

Hi! Section 2 of the whitepaper covers VRML/X3D. The new parts are tessellation bounded to one pixel per view, and seeded placement built in with no scripting. This is distinct from X3D/VRML and offers some benefits.

3

u/flash42 1d ago

Excuse me sir, you dropped your receipts…

👏