curtains.js
easy WebGL tool to animate images
What is it ?
Shaders are the next front-end web developpment big thing, with the ability to create very powerful 3D interactions and animations. A lot of very good javascript libraries already handle WebGL but with most of them it's kind of a headache to position your meshes relative to the DOM elements of your web page.
curtains.js was created with just that issue in mind. It is a small vanilla WebGL javascript library that converts HTML elements containing images into 3D WebGL textured planes, allowing you to animate them via shaders.
You can define each plane size and position via CSS, which makes it super easy to add WebGL responsive planes all over your pages.
Download
curtains.js v1.0 (50Ko) - curtains.min.js v1.0 (19Ko) - Github.
Examples
Vertex coordinates helper
Simple plane
Multiple textures
Multiple planes
Asynchronous textures loading
AJAX navigation
Knowledge and technical requirements
It is easy to use but you will of course have to possess good basics of HTML, CSS and javascript.
If you've never heard about shaders, you may want to learn a bit more about them on The Book of Shaders for example. You will have to understand what are the vertex and fragment shaders, the use of uniforms as well as the GLSL syntax basics.
Todo and improvements
- Tests, tests and more tests.
- Implement videos as textures.
- Plane removal via a removePlane method on the Curtains object.
- ...
About
This library is released under the MIT license which means it is free to use for personnal and commercial projects.
All images used in the examples were taken by Marion Bornaz during the Mirage Festival.
Many thanks to webglfundamentals.org tutorials which helped me a lot.
Author of this library is Martin Laxenaire, a french creative front-end developper based in Lyon.
Found a bug ? Have questions ? Do not hesitate to email me or send me a tweet : @webdesign_ml.