Or how the promise of the 3D web never quite materialized.
You Mean Second Life/VRChat/Resonite/Whatever Right?
Nope! Just to prime this article up front: I am not talking about platforms. That’s a whole separate discussion, though it does intersect with this one.
A History Lesson: VRML
Way back before the discovery of the virtual world equivalent of smashing your sister’s barbie dolls together to simulate coitus, we had this thing called Web 1.0. Only it wasn’t called Web 1.0, it was just the web. It was an exciting time, with people finding every new fangled ways to connect devices together, connect with each other, and run up their phone bill in the process. We called this exciting time “the ’90’s”.
At the same time, 3D graphics technology was starting to enter a renaissance. With the likes of DirectX, OpenGL, GLide, and other graphics APIs starting to enter the market. A small startup called NVIDIA was just getting their footing by releasing something called the NV1, and some company called 3Dfx was getting their shit together to compete.
Needless to say, times were changing rapidly. What was known as a “graphics accelerator” before was really just a 2D graphics accelerator that could be used to offload a variety of 2D drawing techniques onto specialized chipsets (that’s right, chipsets – not a singular beefy chunk of silicon with a bunch of supporting components but a variety of chips that had specialized purposes) in order to speed things up a bit. Now they could transform polygons in 3D space, and draw textures on them!
Some smart people who were messing around with the web saw this and though: gee, wouldn’t it be cool if we had a sort of markup language that we could like… I dunno, represent 3D models? In like, some sort of browser??
This is where our story actually starts.
In 1994 Dave Raggett wrote a paper titled “Extending WWW to support Platform Independent Virtual Reality“. That’s right all you VRChat zoomers, even back in the ’90’s VR was one of those new and cool technologies that people had big hopes and dreams around. Anyways, this paper is kind of the great grand daddy of the 3D web and virtual world platforms as we know them. Although it’s easy to miss when tracing back the 3D web and VR’s history, it established a lot of core concepts that hold true today:
- You have these things called “worlds”
- You have some sort of “browser” to load and interact with these “worlds”
- These “worlds” can be found somewhere on the “World Wide Web” (and yes, I’m counting your favorite platform as the web here for no other reason than it’s accessed through the internet)
- Establishes the idea of a platform (read: browser) independent format
This may not seem like much today, but back then there was a ton of competition from every startup under the sun to establish their own weird platforms, formats, and ways of doing things. Wait a second… that sounds kinda familiar..
Regardless, this was the start of VRML: a neat idea that came from a well intentioned place to lay the foundation for an agnostic markup language that a browser could render 3D worlds from.
It didn’t take long for the format to evolve from concept to reality – in 1995 there was already something called a “browser plugin” for a piece of software called “Netscape” that historians all agree was “way better than Internet Explorer”. Joking aside (except that last bit, IE was always the inferior choice), this plugin enabled the 3D rendering of VRML directly in the browser without the need to download any files or special viewers.
Development would continue giving birth to VRML97, and you’d even see the odd app or platform pop up that used VRML. And not just from some random indie outfit, even Sony was getting in on it with their SAPARi software! Clearly that means we must be living in the 3D web future by now, yeah?
Adoption And You: Or How To Fragment (and lose relevance)
Sadly, our VRML (and X3D – more on that in a bit) future was never meant to be. Here, have an XKCD comic:

Standards are a tricky business. VRML was an open standard, as is its successor X3D. You might think that if you have an open standard, then surely you’ve built it and now they will come. You would be forgiven for this line of thought.
VRML, like any standard, saw competition. Some of that competition would lead to new ideas in the space, which likely made the current state of the 3D web what it is. Here’s a couple of examples:
- Microsoft Chrome (you read that right, and no it wasn’t a browser)
- Think: DirectX in the web browser callable directly from HTML.
3D AnarchyAdobe Atmosphere (thanks again Adobe for absorbing innovative companies)- Originally a sort of 3D chat experience where you’d build a world in a piece of software, then export it to the browser which could then be loaded with a browser plugin
- Active Worlds
- Yes, that Active Worlds. Sorta grew up along side of VRML. Veering a bit into platform-ish discussion here, I know, but I feel it’s important in the grander context.
Chrome and Atmosphere never really saw mass adoption, and neither did VRML. That gets us to the “no shit Sherlock” of why it’s often speculated that we didn’t see mass adoption of the 3D web the first time:
Loading 3D assets requires a good bit of bandwidth.
VRML’s lack of adoption is often attributed to a pretty big constraint of the time period: bandwidth. We’re talking about the ’90’s here, where if you had DSL in the states you were at the absolute bleeding edge of internet connectivity, likely had lots of money to burn – and it wasn’t massively better than dial up.
VRML was not a terribly complex format. But when you have a 56k modem and a connection that will shit the bed the moment someone picks up the phone to try and dial out, it doesn’t exactly lead to great user experiences.
The Future Is Was (Maybe Still Is?) X3D
This gets us into X3D. X3D was (is? Adoption never really took off, but still seems to have some life in it) an XML based format designed to replace VRML.
X3D is an interesting one in that it seems to achieve many of the same ideas as VRML, seems to be still developed (at least as of 2018 when the latest spec was published), and the tools haven’t really stopped development around it.
X3D’s goal is to be an extensible 3D format for the web. And it’s actually quite comprehensive:
- Supports the usual suspects: textures, meshes, animations
- Explicitly supports the glTF spec’s Physically Based Rendering parts
- Has shaders (GLSL, HLSL, and Cg for us graphics nerds)
- Even supports physics, vertex attributes, and a ton more!
It’s hard to pinpoint a single reason why X3D didn’t really take off, but there are some pretty big and brightly colored reasons:
- Browsers just didn’t support it
- I know, shocker, a browser not supporting a thing reduced its popularity
- We eventually got glTF
- Though not directly related, glTF tends to play nicer as an easy to represent, modify, and shove into some buffer somewhere and render format. Also not supported by browsers natively (most of the time) I’ll note.
- WebGL became a thing, as did “engines in the browser” along with it.
- We’ll eventually get to WebGL and its impact. But it’s hard not to mention this one – we simply got graphics engines “in the browser” so to speak. At that point, why even care about supporting in-browser virtual world functionality?
- Timing. The great ass-whipper of all products.
- X3D came out at an interesting time. You had a space that was largely dominated by Flash and Shockwave, with these magic pocket computers called “Smart Phones” coming down in cost. I hear some company named after a fruit eventually released one to critical acclaim. And no, its browser didn’t support X3D either.
I’m not gonna focus too much on X3D – it’s still out there and it’s actually kinda cool. I’m certainly taking a bit of inspiration from it for my own immersive web project, which I hope to talk about soon. You can find the spec on the Web3D Consortium’s website. They even have a GitHub where you can see that there’s still a dedicated few building out X3D. I encourage those who are interested in this space, or even work in it in whatever vague definition we can collectively call “working on it” nowadays is, to check it out. If anything, it may even bring about some new ideas on the overall vision of the 3D web.
Fuck it *OpenGLs your browser*
It’s the late 2000’s now, and boy has the web changed since the ’90’s! We have this thing called an iPhone, and boy iPods have never been so packed with functionality! This thing called MySpace came along at some point, and boy are all of my friends hooked on it! Facebook? You mean that weird college kid social network thing? Yeah, I don’t really see that taking off any time soon. Twitter? What the fuck is a microblog? Is that like posting that I just pooped or something and letting the whole internet know? Oh well, I couldn’t possibly see these things becoming popular.
HTML5 is the future, and we’ve finally entered:
WEB 2.0
So what the hell changed other than web apps all look a lot rounder, have a ton more gradients, have drop shadows (for some reason), and can’t decide if they want to be skeuomorphic or a bunch of abstract colors?
Well, Javascript has seen many evolutions since the late ’90’s. AJAX is kind of still a thing, but there’s also this drive to return to a simpler time of the web, just prettier.
Oh, and we have this neat thing called WebGL that’s coming out. I think it’s supposed to plugin to that fancy new HTML5 canvas thing or some shit.
Wait, WebGL.. like OpenGL for the web?
Damn skippy!
So WebGL evolved out of something called Canvas 3D. You have an HTML5 canvas, and now you can do 3D shit in said canvas. That part isn’t as important as WebGL itself though.
WebGL promised a lot of things – notably being able to finally not use that burning trash heap of a browser plugin: Flash. It largely executed on many of those promises, but the 3D web wasn’t quite one of them.
WebGL came about as a draft around 2009 as the Khronos Group finally started to care about what was going on with the web. The Khronos Group are the guys who publish the OpenGL and Vulkan standards, among many other things.
WebGL for many was an indication that the 3D web was finally upon us. Even I was in that camp as adoption of WebGL by browsers continued to grow – bit by bit, year by year.
That’s right, year by year. This wasn’t exactly a time when you only really had two browser choices you had to target, and the likes of Microsoft, Mozilla, Apple, and Opera (Google still attached at the pelvis to Apple thanks to WebKit) were usually bitching among themselves about what the future of porn and software piracy website browsing looked like. This led to adoption that was slower than molasses. If I recall, the spec was finalized in 2011, but didn’t really see full implementation across all browsers for a good few years after.
3D Web.. 3.0? Take 3? Act 3? What Part Are We On Again? Who Are You, And Why Are You In My House?
WebGL for all intents and purposes would become a game changer. Hell, its successor WebGPU (which is already seeing great early adoption across Chrome, WebKit, and Gecko) looks to continue the trend that WebGL started.
But is it 3D Web?
If you think about it from the perspective of “3D Web as in 3D Web Apps”, yes. It is very much 3D web in that regard. Engines can use it (Unity being one of the “big” early adopters, not to mention three.js and Babylon which both become pretty big in their own respects), you get OpenGL ES 2.0 in Javascript (3.0 for the WebGL 2 browsers out there), and with WebGPU you’re poised to do even more in a web browser.
But if you look at it from the perspective of: I’m going to make a 3D website, then no. No, WebGL (and WebGPU) is not 3D web. All it did was enable 3D web apps.
This is far different from what I think is the actual 3D web dream: To easily craft 3D worlds that represent one’s home, business, or cause on the internet.
Platforms
It’s easy to argue that platforms fulfill this. Active Worlds being one of the great grand daddies out there of the idea. But I’m not really sure that’s true.
Platforms provide a central place for people to congregate, meet new people, communicate, and engage in activities. And no, not just the kind usually reserved for the bedroom/sex dungeon/bathroom at the nearest underground club. They’re important in that they give people a common set of tools, a minimum bar of quality, and a mechanism to easily discover new people and experiences.
But I don’t think they really meet the bar of the 3D web.
Then What Is The 3D Web?
Many years ago, I would have told you that the 3D web is the web, but in 3D. Being able to explore a VR web scape (either with an HMD or on a flat screen) that allows me to see mockups of products I want to buy. Being able to have many diverse and immersive ways to experience the content that the web has to offer.
One could argue that Apple provides one of the closest experiences to what I, some weird person on the internet that runs around in VR as some fictional space raptor, think it should be. It’s not 100% there – it’s more like 10 to 25% of the way there. But it’s actually further than any platform that I’ve experienced.
Nowadays, I almost think of the 3D web as the anti-platform. We certainly have the technologies out there to achieve it. From social tech to connect people, to avatar tech from the stunningly (and often times creepy) realistic to the fun and toony. But no web browser seems to be that interested in advancing it – at least not right now. Hell, Mozilla even killed their Firefox Reality browser.
I don’t think that this means the 3D web dream is dead. I just don’t think that the time is right, nor do I think the right technologies have yet been brought together. That doesn’t mean I don’t think it’s close, nor does it mean I’ve given up work on the idea. Just that it’s gonna take some time.
tl;dr:
The 3D web never took off due to a variety of issues: early bandwidth limitations, lack of unified standards, and poor browser support for formats like VRML and X3D to name a few. While WebGL and WebGPU enable powerful 3D apps in browsers, they don’t really deliver on the original dream: a decentralized, immersive, and easy to build 3D internet. Today’s platforms like VRChat and Unity-based tools focus on closed ecosystems, not the open 3D web vision. The dream isn’t dead—but it’s still waiting for the right convergence of tech, timing, and intent.
Closing Thoughts
I view the 3D web as someone who’s worked in or around the metaverse space since 2008. I’ve either been a consumer or builder of virtual worlds. There’s many projects I’ve been on that I won’t talk about for no other reason than they just didn’t make it off the ground, but I certainly think there’s still something to many of them even so.
I think with the continued downward drive in cost for VR headsets, and the continued expansion in capabilities in smart phones – there’s a chance the 3D web may become a thing yet. Who knows, maybe I’ll actually be there to get something done this time. Time will tell.
Leave a Reply