This repository features my experiments with WebGL. Most demos are using GLea, a minimalistic WebGL library written by myself.
- Triangle
- Patterns using modulo
- Morphing Stars
- Fractal, using Phenomenon
- Cube
- Texture mapping
- Access the webcam via webgl and apply distortions
- Webcam Triangle Grid
- Webcam Triangle Grid variation with additional vertex motion
- Webcam Sobel edge detection (check out the wikipedia article)
- Webcam ordered dithering (wikipedia)
- Raymarching
- Infinite rocks (raymarching with shadows)
- Shape morphing 3D geometries via glsl mix
- Rainbow fractal with complex numbers and the series of greatest prime factors
- Image Slider component
Type npm install
and npm start
to start a local development server.
Currently, there is no transpiling/bundling toolchain like Webpack and Babel/TypeScript.
It's just node express serving static files. As other out-of-the-box web servers require some additional configuration, I made a simple server.js on my own.
The older demos use an esoteric coding style library I wrote in the 2015s. It provides helper functions for compiling shaders and matrix/vector maths. The code itself of the library is hard to read, but the examples may be useful. Most of the examples just draw a square to the fullscreen and let the fragment shader do its work.