Render 3D

Render3D is an experiment in pushing javascript beyond what it should be capable of. No-one thinks that using javascript to create non-accelerated 3d graphics is an idea that's going to result in games competing with call of duty, but I think it's an interesting idea.

It's indended to be a modular library that you can use to create your own objects right in your web page. Therendering engines are separated out so that they can be replaced with whatever whizzbang technology you like ( ok, really it's so that old IE can use it's own brand of vector graphics - vml, but a canvas or o3d renderer could be plugged in too.)

The library is currently highly unfinished, but vaguely functional. Performance is about what you'd expect - terrible.

One of the things that suprised me most about developing this was the high overheads of firefox's garbagecollection. A simple 3d scene uses a lot of objects, garbage collection on firefox can take seconds and happens quite frequently. Chrome is blazingly fast by comparison and actually makes the whole thing usable. IE was always the black sheep and I only ever bothered with making it work out of some sense of duty to openness. It required it's own full renderer and rewarded with performance that would make a sloth wince. I even brought in the idea of dynamically adjusting the detail levels of the scenes because of the performance differential between IE and everything else. Needless to say, IE just went to the minimum detail level and stayed there. And IE8 broke vml so badly that no-one bothers with it: I tell the browser to explicitly use the ie7 or ie9 rendering engines instead. I've not tried IE9 on it at all yet, hopefully they've brought their game this time.