If not, is VRML dead? I don't think I've heard much about it since the late 90s.
If not, is VRML dead? I don't think I've heard much about it since the late 90s.
I know X3D was supposed to be more than just an XML format for a scene description. Like, I think there was supposed to be an object repository, and specialized viewer applications, all under the X3D name. The branding was classic early-aughts confusion of "name everything the same thing, cuz it's 'integrated'!"
I think X3D mostly suffered from being too much, too late. Most of the VR stuff you'll see in the browser now is either developed in Three.js or Babylon.js (or exported to one of those two). "Good enough, available now" won out. Plus, the whole anti-XML movement kinda put a damper on anything with "X" in the name (though X3D did start discussing a JSON serialization format, I don't think it ever left draft stage).
For the most part, people serialize scenes to GLTF files these days (or a Wavefront OBJ, if they're scrounging models off the Internet). GLTF has a compressible binary format that makes comparable scenes a lot smaller.
One might draw a rough analogy to GLTF => PNG, OBJ => GIF, X3D => Jpeg2000. It just never got enough adoption.
I think part of the problem is that the full understanding of a scene with interactions requires a graph structure, but most of our tools are really only built for editing tree structures.
I see this time and again with just regular, ol' 2D DOM and JavaScript. You can define your layout in HTML and then play whack a mole with bugs if elements you got via document.querySelector move or get renamed, or you can define your layouts in JS and pay a relative huge cost in rendering and complexity.
Plus there is the added wrinkle in 3D of having to be very persnickety about memory and shaders and order of operations. How do you make a declarative, semantic scene description that can figure out that this geometry over here can be batched, this over here can be instanced, and never the twain shall meet?
I've been trying to write a 3d editor from scratch with Three.js and Vue 3. It's quite daunting task and I am more appreciative of the work Babylon guys are doing just wish there were more funding so they can knock some of the older issues out.
I've also some nostalgia for the demos produced in this time. I cannot for the love of god find this one where you are in some film noir type of detectives office you could walk around in. The lighting effect, ambient traffic sound from the window, it was magical around the 2000s.