Wednesday, January 1, 2014

Not With A Bang

But a trickle?

I'm now convinced that WebGL should be a part of Mana's future.

WebGL is OpenGL for web browsers and Mana is an OpenGL engine, so a port seems only natural. Three years ago, I actually did a partial conversion as both an exercise and an experiment. The engine ran at a reasonable frame rate in both Chrome and Firefox, but then, it wasn't doing that much.

My hesitation to move forward with it was threefold.

One, the performance and support were lacking. Microsoft had no intention of including it in Internet Explorer and a lot of features were still missing in the browsers that did.

Two, the openness of the web means that a direct port would be showing the world the guts of Mana. Let me be clear that I want for as many people as possible to use Mana and make cool stuff with it! Eventually, I do expect to make the source available - but not just yet.

Three, scripting Mana is Lua-based. A complete WebGL version would require some kind of Lua to JavaScript interpreter. Either that, or force users to maintain two sets of script if they want both desktop and web deployments of their apps.

Enter Three.js, an MIT-licensed WebGL engine that has proven itself quite popular. Kudos to Mr.doob and the other contributors! It was not far enough along when I looked into it years ago, but that appears to have changed. The documentation is still lacking, but there are lots of great examples that seem pretty straightforward.

If Mana featured an export that would produce a ready-to-use webpage using the Three.js renderer, I think that would be useful to a lot of people. Not to mention fun!

Perhaps a new KickStarter is born.

No comments:

Post a Comment