What are you doing with Sylvester?

Apparently some people are actually using Sylvester. Which comes as something of a surprise to me because I’ve had nobody (until today) email me or comment here about it at any length. It initially came out seven or eight months ago, and while I intented it to be a full 3D rendering environment, my day job took over more and more of my time and it never got beyond being a maths framework. Truth be told, I knew pretty much nothing about 3D rendering when I started (and that largely remains true), but I’d seen other people write 3D engines in JavaScript and wanted to learn (and I wanted to write something that wasn’t riddled with dozens of global functions). And, though it’s so far not fulfilled the ambitions I initially had for it, writing it has taught me a great deal about JavaScript performance.

Recently though, there’s been signs of OpenGL-backed 3D environments coming to various browsers, and however good a job I make of writing a 3D engine, it will never perform as well as native browser code. I still think it’s worth fleshing out the maths capabilities of the framework, though — there are various features I was working on for version 0.2 that have never seen the light of day. Stuff like line segments, polygons, and various useful algorithms for dealing with them. I’d be interested to know whether people would be interested in me finishing these features, and whether I should still push for a 3D rendering engine. So if you’re using Sylvester for any project, large or small, do get in touch and let me know what you think of it and how it should be improved.







3 Responses to “What are you doing with Sylvester?”

Hey James,

I’ve used Sylvester in some Canvas 3D demos — see http://blog.vlad1.com/2007/11/26/canvas-3d-gl-power-web-style/ — and it’s worked out quite well for me as-is. I added a few helper functions to get matrices out in slightly different object layouts, but no issues other than that. Unfortunately I haven’t had time to do much C3D-related work for a while, but I hope to get back to it soon.

I disagree with you that a 3D engine written in JavaScript will never perform as well as native code, though; if you have access to native 3D acceleration (through OpenGL or a similar API), you should eventually be able to get very close to native performance with a good enough JS JIT/interpreter. Conveniently, Mozilla’s working on such a beast as part of the Tamarin/ES4 work. :)

Vladimir Vukicevic added these pithy words on Jan 03 08 at 9:19 am

James,

I’m working on using Sylvester with Silverlight 1.0. Any further improvements you do would be much appreciated!

Chris Cavanagh added these pithy words on Jan 11 08 at 5:41 am

I’ve enjoyed this package as well :)

Michael Deal added these pithy words on Mar 14 08 at 9:50 am

Leave a Reply