Blend4web vs. Three.js

As a sequel to my Feb 23 post X3DOM vs. Three.js, I’d like to quickly compare Blend4web vs. Three.js, using that same old arbitrary VRML file as a neutral sample. Blend4web is an add-on for Blender, the open-source 3D authoring tool I use.

Here’s how the Blender workspace containing my old VRML file looks when I export it using Blend4web:

And here’s the same Blender workspace exported as a COLLADA file and then imported into Three.js:

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 “Blend4web 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

Tool Agnostic – definition and practical limitations

They do say that everything is best in moderation, including moderation itself – perhaps the same applies to being a tool agnostic.

“Tool Agnostic” is a cool, but relatively obscure, term that describes an approach to technology free from prejudice. I just Googled “tool agnostic” definition, and didn’t really wind up with anything. So, that to me smacks of an opportunity to post one and get this party rolling.

Let’s start with the term “agnostic” itself. From Mirriam-Webster, the #2 definition stands without restricting itself to the subject of religion or God:

Full Definition of agnostic […] 2 :  a person who is Continue reading “Tool Agnostic – definition and practical limitations”

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

How to work with old VRML files

So how then to bring those old VRML files back into the fold? I have many old VRML “worlds” that I wrote for Cosmo Player back in the ’90s. It would be great if I could open those old files in one of the new technologies.

VRML stands for “Virtual Reality Modeling Language”. According to Wikipedia, VRML “is a standard file format for representing 3-dimensional (3D) interactive vector graphics, designed particularly with the World Wide Web in mind. It has been superseded by X3D.”

Not only has it been superseded by X3D, it’s pretty much obsolete on the web. Boutiquey web players exist – and the format is used for Continue reading “How to work with old VRML files”

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

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