HTML5, the 3D Web, and the Death of Plugins

Hopefully, the world will soon be as hungry to show 3D stuff without a plugin, as the world has been to show rotating banners and videos without Flash. And for all the same reasons. Here’s some thoughts on the agonizingly slow death of plugins.

I spent many years working in Adobe Flash. From fun little flourishes to otherwise flat websites, to full-on interactive educational applications that provided feedback as to what was working educationally and what was not – I really liked Flash. I liked it, even as the Death of Plugins lurked menacingly around the next corner.

Then came the decree – “Flash is Dead”. While it took some people more years than other to accept this – by this point in time it is clear – if you want your stuff to be on the “open web” – you cannot use Flash. If you’re still disinclined to disagree with me on that, here’s Continue reading “HTML5, the 3D Web, and the Death of Plugins”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

How to export JavaScript from Blender

I’ve experimented with a few ways of getting models made with Blender into three.js so I could manipulate them programmatically. In general, this involves exporting a format from Blender, and importing a format with JavaScript. Unless of course you jump straight to JavaScript from Blender.

I tried VRML and X3D as “transport” formats, but found they had silly little issues that made them difficult to work with in three.js. I also tried exporting as a JSON file – with much less tediously finicky results. While VRML or X3D might be Continue reading “How to export JavaScript from Blender”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

Exporting VRML from Blender

I have lots of old VRML files. I’d love it if I could resurrect them and get browsers to show them. I’ve tried loading the VRML files directly into three.js with fairly unsatifactory results. Then I found that I can import the VRML files into Blender, with much more reasonable results. So I got to wondering – what if I was exporting VRML from Blender? Would that VRML go any better with three.js than VRML that was written by 3DSmax back in the ’90’s?

Using the file I was working with for my mesh modeling and lighting Continue reading “Exporting VRML from Blender”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

Loading VRML into three.js, Revisited

In an earlier post, I did an experiment where I tried to load some of my antique VRML files into three.js, so that they could be experienced in a browser without the long-defunct Cosmo Player. The experiment concluded that loading directly is not going to be an effective way to resurrect those virtual worlds.

What I’m trying now is a good deal more Goldbergian, but from what I’ve seen so far, it just might work. First, we import Continue reading “Loading VRML into three.js, Revisited”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

Loading VRML into three.js

There’s a couple of VRML worlds in my old collection that would be of great interest to the same communities today, that they were originally created for back in the late ’90s.

There is a javascript library called VRMLLoader.js. The idea is that you can load a VRML world, also known as a .wrl file into your runtime and display it with OpenGL using three.js.

How exciting. I have a whole pile of old .wrl files from back in the day. People with Cosmo Player used to visit them, explore them, and have a good time. I haven’t seen any of them in action for a decade. It would be awesome if I could get them to work using VRMLLoader.js, I could embed them here to show off, and I could re-invent my old site with content people could see. Continue reading “Loading VRML into three.js”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

Code & Art

I didn’t learn anything about three.js doing this – it’s all the same technojunk as my previous “experiments”. But this is fun. This is code & art.

As I was going through the introductory websites for three.js, I couldn’t help but notice that one thing that’s very common in a “beginner’s demo” was virtual worlds stuffed with a whole bunch of similar geometric primitives. Cool. But none of the demos I saw went beyond demo. They tend to be pretty colourless, pretty motionless, pretty boring.

So I couldn’t help but get something stuck in my head. Oh sure, it’s an ocean of geometric primitives. And sure, I didn’t learn anything about three.js doing this – it’s all the same technojunk as my previous “experiments”. But this is fun. Continue reading “Code & Art”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

The Open Web

Though, through the use of cool javascript stuff, from AJAX to three.js, and a ubiquitous rendering technology known as OpenGL, a great deal is possible. All without the use of plugins.

Ever since I first heard about “the internet”, I was fascinated. A giant worldwide computer network for everybody? Wow. The implications were staggering, even at first blush. And still, 20 years later, what it has become goes way beyond what could ever have been imagined.

One of the key words in the paragraph above is “everybody”. And that is the subject of this post Continue reading “The Open Web”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone

Geometric Primitives in Motion

Simple shapes like boxes, spheres, and cylinders are called “geometric primitives” or “primitives”, and they’re nice for experimentation because you don’t need to build any models. Just instantiate a box and you’ve got a 3D thing to play with.

For my second experiment in three.js, I thought I’d try putting a bunch of boxes in a row, and then making them oscillate like a sine wave. Continue reading “Geometric Primitives in Motion”

Tweet about this on TwitterShare on Google+Share on LinkedInShare on FacebookEmail this to someone