What is WebRender?

WebRender is a software renderer written in JavaScript, that allows 3D graphics to be drawn into a HTML5 Canvas element. It was created by Andrew Paroz as part of a university honours thesis. Unlike other web based 3D solutions, WebRender does not require any plugins or libraries on the client devices in order to be used.

In order to make the library functional to developers, it supports a range of customisation options that have been styled off of WebGL/OpenGL. It has programmable shaders that are written as JavaScript functions and can take advantage of WebWorkers in order to run in a multi-threaded manner. This level of customisation is possible due to the library rendering on a per-pixel basis and not as vectors. This also allows for the use of a Z-buffer to determine depth, so that shapes can be drawn over one another in any order.

Since this is a software renderer running on JavaScript within a web browser, the performance is obviously going to be less than that of WebGL or a plugin. It is most effective for single frame rendering, however real-time speeds can be achieved with limited graphical fidelity. The examples provided can give a good gauge of what levels of graphics are possible.


If you want to contact me please send an email to .