Choosing a library for working with WebGL
One morning, running past a glorious lesson , I thought: “This is cool, but still there is something missing here.” If you need to write a lot of code easily and quickly, then we need, without a doubt, a library for this. But how can we choose it, if everyone who knows how to start a repository on a github gash their bike? And about this for you, friend, I’ll write a post today suddenly.
I, like many other users of WebGL technology, began my acquaintance with it from one single library, which I read about somewhere or heard from someone, and now I hammer all nails with the same hammer. However, if I were just starting out with WebGL today, things could have turned out differently. The fact is that last year one good man spent 6 months writing a series of simple examples of working with WebGL using all the libraries that I could reach - which gives you a unique opportunity to compare the APIs of different libraries even before you start an in-depth study of one of them:
This table shows four simple examples of working with procedural geometry within the framework of the API of the respective libraries, and overhead, which your website or application will have to pay for using them. In addition, the author performed the same examples using library primitives, where it was possible:
Of course, procedural geometry is not all that you need in your work, but from this series of examples you can also learn the general principles of working with a particular API, and make your own informed opinion even before you start to do something.
Update 9 / III : I thought I would continue to work on the article but, having cast out the reaction , I won’t. Learn to chew before swallowing, dear readers.
I, like many other users of WebGL technology, began my acquaintance with it from one single library, which I read about somewhere or heard from someone, and now I hammer all nails with the same hammer. However, if I were just starting out with WebGL today, things could have turned out differently. The fact is that last year one good man spent 6 months writing a series of simple examples of working with WebGL using all the libraries that I could reach - which gives you a unique opportunity to compare the APIs of different libraries even before you start an in-depth study of one of them:
Library | Version | The size | ||||
---|---|---|---|---|---|---|
Naked WebGL | 1.0 | 0 | Tyts | Tyts | Tyts | Tyts |
Naked WebGL | 2.0 | 0 | Tyts | Tyts | Tyts | Tyts |
Webgl helper | - | 15KB | Tyts | Tyts | Tyts | Tyts |
TWGL.js | v0.0.20 | 19KB | Tyts | Tyts | Tyts | Tyts |
glCubic.js | v0.01 | 22KB | Tyts | Tyts | Tyts | Tyts |
webgl-utils.js | - | 50KB | Tyts | Tyts | Tyts | Tyts |
stackgl | v1.4.0 | 67KB | Tyts | Tyts | Tyts | Tyts |
lightgl.js | - | 72KB | Tyts | Tyts | Tyts | Tyts |
GLOW.js | r1.1 | 77KB | Tyts | Tyts | Tyts | Tyts |
TDL | v0.0.8 | 91KB | Tyts | Tyts | Tyts | Tyts |
GLBoost | - | 132KB | Tyts | Tyts | Tyts | Tyts |
Philogl | v1.4.3 | 136KB | Tyts | Tyts | Tyts | Tyts |
Webgl | - | 178KB | Tyts | Tyts | Tyts | - |
xeoEngine | v0.1.0 | 224KB | Tyts | Tyts | Tyts | Tyts |
Scenejs | v4.2.1 | 242KB | Tyts | Tyts | Tyts | Tyts |
CubicVR.js | v0.2.1 | 347KB | Tyts | Tyts | Tyts | Tyts |
three.js | r71 | 419KB | Tyts | Tyts | Tyts | Tyts |
Spidergl | v0.2.0 | 498KB | Tyts | Tyts | Tyts | Tyts |
Babylon.js | v2.1 | 814KB | Tyts | Tyts | Tyts | Tyts |
This table shows four simple examples of working with procedural geometry within the framework of the API of the respective libraries, and overhead, which your website or application will have to pay for using them. In addition, the author performed the same examples using library primitives, where it was possible:
Library | Version | The size | ||||
---|---|---|---|---|---|---|
lightgl.js | - | 72KB | Tyts | Tyts | Tyts | Tyts |
Processing.js | 1.4.13 | 223KB | Tyts | Tyts | Tyts | Tyts |
p5.js | v0.4.13 | 236KB | Tyts | Tyts | Tyts | Tyts |
three.js | r71 | 419KB | Tyts | Tyts | Tyts | Tyts |
Babylon.js | v2.1 | 814KB | Tyts | Tyts | Tyts | Tyts |
Awayjs | v0.4.31 | 1,008KB | Tyts | Tyts | Tyts | Tyts |
Of course, procedural geometry is not all that you need in your work, but from this series of examples you can also learn the general principles of working with a particular API, and make your own informed opinion even before you start to do something.
Update 9 / III : I thought I would continue to work on the article but, having cast out the reaction , I won’t. Learn to chew before swallowing, dear readers.