The Reckoning
After a little over four years in the Games Industry, I've finally published my first title. Kingdoms of Amalur: Reckoning
WebGL Quirks And Issues
WebGL is a wonderful native API to have but it comes with a lot of issues. All of these stem from the decision to
use OpenGL ES 2.0 as it's standard. OpenGL ES was developed for embedded systems such as consoles, phones, appliances and vehicles.
It is actually a subset of the desktop OpenGL API. In turn, with WebGL you can't use Multiple Render Targets, Display Lists, Geometry Instancing,
Texture Lookups in the Vertex Shdaer, or floating point textures. This severly limits some of the effects and amount of things you can do.
The lack of Multiple Render Targets is severly disapointing because it makes it almost impossible to do Deferred Shading and some post process effects.
Now I say almost because you could still get the desired effect but you'd need to render to 4 targets seperately, essentially allowing you to draw only a
1/4 of what you wanted to draw.
Losing Display Lists isn't horrible but they gave you a performance boost by compiling static object lists into faster calls. It seems like a no brainer and I'm curious why it's missing.
Geometry Instancing is another almost 'no duh' issue. You can still acheive this with OpenGL ES 2.0 but it means gathering large buffers with duplicate data in it. And it'll still be slower than just letting the hardware handle it.
Floating Point Textures are a loss but you can still do some techniques without them just with some artifacts from lack of percision.
I can honestly say I'm not concerned at all by the Texture Lookups in the Vertex Shader. Yes, it can allow you to do cool things like displacement mapping but meh.
HTML5
I started working on a few HTML5 projects to see what it's capable of and I have to say I'm pretty impressed so far. If I could find a better JavaScript debugging application I'd be able to knock out a couple projects real fast. Sadly I don't currently have one so it's taking a while.