hello-webgl icon indicating copy to clipboard operation
hello-webgl copied to clipboard

First steps with WebGL

Hello WebGL World!

Build Status

This repository features my experiments with WebGL. Most demos are using GLea, a minimalistic WebGL library written by myself.

Demos

  • 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

Running it locally

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.

Older Demos

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.

  • Glitchy Mandelbrot
  • Black Line Weekend
  • Pastel Flower Weekend
  • Moire
  • Moire 2
  • 3D Cube
  • Shapes
  • Multiple Shaders
  • Relaxing Cubes