WebGL is coming

Mar 30 2011 15:24

WebGL is a new open technology for building HTML5 games. I enables developers access to lower level graphics APIs allowing high performance and 3D transformations. All fully hardware accelerated. WebGL is based on OpenGLES 2.0 and it basically works in three steps. First you write small shader programs and send them to be run on your graphics card. Then combine your vertex/color/texture/etc data to the data buffers and send the buffers to the graphics card. And finally tell your graphics card to draw the data inside the buffers using the shader programs. Good introduction to OpenGL ES 2.0 can be found from Jeff LaMarche blog. Luckily you don’t have to know everything about WebGL to use it in LimeJS. The WebGL renderer can be used as a simple on/off switch with no further knowledge needed. As an extra we will include Closure Library style WebGL framework methods that we use for writing the renderer so you can use it for your custom WebGL related work.

You can follow along WebGL related development in the WebGL branch on Github. Its not in any way stable or feature complete at the moment but may be interesting for you to follow along when features appear. This also means that we are very open to suggestions about all aspects what it should do, what it should not and how it should be implemented. As there is no features yet marked ready there is a very good change your own idea can make into it.

The main benefit WebGL gives is …

Guide complete + Renderers demo

Feb 08 2011 22:58

We have finished all chapters of the initial Programming guide. If you want to know how to use LimeJS this is a place to start. Follow it through chapter by chapter and try out the solutions described on your own hello-world project. If you get stuck don’t be shy to ask for help.

The last chapter, added just couple of minutes ago, was about different rendering engines LimeJS supports. If you don’t know what that means go read more about it from here. Basically it means that you can use the same code to draw your elements with CSS or with Canvas. In your game you can change the rendering method with one function call depending on your content and the device you are running on.