WebGL 3D Engines and Tools

Pretty much all modern desktop browsers support WebGL Internet Explorer being a notable exception. Even then you can use hacks such as IEWebGL to get the support. Although the whole specification is quite new, there has been some interest. Google Maps is a nice example of a high profile application using it.

Since working with bare APIs is often quite arduous, many wrappers have emerged. Of these particularly three.js and PhiloGL have become popular. Libraries such as glMatrix,WebGLU, lightgl.js and csg.js provide helpers for particular purposes. It is even possible to emulate Canvas2D with WebGL by using webgl-2d.

13511 3201 5.00


JavaScript 3D library The aim of the project is to create a lightweight 3D library with a very low level of complexity — in other words, for dummies. The library provides <canvas>, <svg> and WebGL renderers.



CopperLicht is a WebGL library and JavaScript 3D engine for creating games and 3d applications in the web browser. CopperLicht comes with a full 3D editor and supports all features necessary to create full 3d games in the browser. Unlike other WebGL 3D Engines, CopperLicht compiles your 3D meshes into a small, binary file which downloads quickly, reducing bandwith usage for your users.

529 82


PhiloGL is a WebGL Framework for Data Visualization, Creative Coding and Game Development.

487 42


J3D is a playground rather than a production environment. It consists of a Javascript rendering engine and a C#/Unity3d scene exporter.

312 62


Javascript Port of the CubicVR 3D Engine by Charles J. Cliffe

45 20


The Canvas 3D JS Libary (C3DL) is a JavaScript library that will make it easier to write 3D applications using WebGL. It provides a set of math, scene, and 3d object classes that makes WebGL more accessible for developers that want to develop 3D content in browser but do not want to have to deal in depth with the 3D math needed to make it work.

9 2


Curve3D is an open-source cross-browser 3D engine written in pure javascript. It works in all major current browsers (Firefox 3.6+, IE8+, Chrome 5+, Opera 10.5+). Curve3D includes a high performance math library, significantly faster than other javascript matrix math libraries currently available.

20 4


3D Graphics for Next-Generation WWW

274 46


SceneJS is an open-source 3D engine for JavaScript which provides a JSON-based scene graph API on WebGL. SceneJS specialises in efficient rendering of large numbers of individually pickable and articulated objects as required by high-detail model-viewing applications in engineering and medicine.

267 38


This library makes it easier to quickly prototype WebGL applications. It's lower level than many other WebGL libraries and while it doesn't provide a scene graph, it re-implements OpenGL's modelview/projection matrix stack to provide similar functionality. It also re-introduces some built-in uniforms from GLSL (such as gl_Vertex and gl_ModelViewProjectionMatrix) and OpenGL's immediate mode.

147 17


WebGLU is both a set of low-level utilities and a high-level engine for developing WebGL based applications. WebGLU is designed such that a developer can focus on the end result with a minimum of fuss and code, but doesn't hand hold developers who want more control. This is achieved by exposing the raw GL object and also many lower-level functions for working with it and the WebGL API.

163 21


We’re really proud to introduce GLOW – a WebGL wrapper. GLOW is for you who have some WebGL experience and would like to get to the core – shaders. Please try out GLOW for experimenting with shaders, to create your custom render pipe or make a WebGL demo. Please fork here.



GLGE is a javascript library intended to ease the use of WebGL; which is basically a native browser javascript API giving direct access to openGL ES2, allowing for the use of hardware accelerated 2D/3D applications without having to download any plugins. The aim of GLGE is to mask the involved nature of WebGL from the web developer, who can then spend his/her time creating richer content for the web.

781 143


Javascript Matrix and Vector library for High Performance WebGL apps

494 55


Constructive Solid Geometry (CSG) is a modeling technique that uses Boolean operations like union and intersection to combine 3D solids. This library implements CSG operations on meshes elegantly and concisely using BSP trees, and is meant to serve as an easily understandable implementation of the algorithm. All edge cases involving overlapping coplanar polygons in both solids are correctly handled.

293 62


This project aims to be a complete port of the Canvas2D API implemented in a WebGL context. WebGL-2D is a proof of concept and attempts to ascertain performance improvements over Canvas2D. It should allow most Canvas2D applications to be switched to a WebGL context.

Besides libraries above, there are some nice demos and learning resources around. You can find some of the former at Chrome Experiments and WebGL.com for instance. Learning WebGL and greggman's blog posts are good starting points for learning. Those interested particularly in the popular three.js might find Learning Three.js an interesting site. If you just want to dive into code, try something like WebGL playground.

As usual I likely missed some awesome libraries. Do let us know which we're missing, or better yet, add them to jster yourself. Till the next post!

Published by bebraw on 2012-12-17 17:48:08

More to read