X3DOM vs. Three.js

Here’s a quick look at X3DOM vs. three.js. Two very different tools, that both do something I’m very interested in – allow you to publish 3D content and virtual worlds on the open web, without a plugin.

I found two good ways to get 3D content (from an ancient VRML file) out of Blender, and out on the open web where anyone with a browser can see them without a plugin. So I’d like to compare X3DOM vs. Three.js.

I loaded a COLLADA file into Three.js:

And I loaded an X3D file with X3DOM:

You can drag your mouse on either of those to move them around. Each button gives you a different motion when you drag. Each example uses each button in a different way. Continue reading “X3DOM vs. Three.js”

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

Blender to three.js with COLLADA files

Given this phrase in the Wikipedia definition of COLLADA files – “… for exchanging digital assets among various graphics software applications …” – it should come as no surprise that I found the COLLADA format the most effective for exchanging digital assets between Blender and three.js

One running gag on this blog is my repeated attempts at getting the content in my old VRML files on the open web and rendering in a browser again – and this time, without the use of plugins.

I’ve tried importing old VRML directly into three.js – with somewhat less than satisfactory results. I’ve discovered that those old file load nicely into Blender – and I’ve tried any number of way of exporting them from Blender again, with the hopes of loading those formats into three.js.

collada-bannerFor me, the winner by far, was COLLADA files. Continue reading “Blender to three.js with COLLADA files”

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

360 degree images with three.js

A full wrap-around photographic background goes a long way, turning a few goofy primitives floating in space into an immersive virtual world.

This is just my Dancing Donut exercise of a few weeks back, with the addition of a photograph. Though, how the photograph is structured – and how it is added – is quite different from what you might experience adding a photograph to a flat web page. Continue reading “360 degree images with three.js”

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