A particle engine written in WebGL that uses shaders to process all particle motion. 200,000 particles are simulated in the browser. 8 shaders provide different animation modes that can be accessed via the number keys.
Written in WebGL using three.js. Planet, nebulae, and stars are all generated procedurally using shaders. Textures are generated for a height map, moisture map, texture map, normal map, and roughness map. A biome lookup image is generated to control the distribution of colors. Unique names are generated and used as the random seed, which is then added to the URL string. If you find a cool planet, you can just share the link, and the planet you made will be shared.
Fly through a cityscape built entirely from algorithms. Each building is randomly generated by manipulating cube geometry. The position, size, and color of the buildings are generated from simplex noise maps. This was built for WebGL using the Three.js library.
We’re back in WebGL and Three.js again. We’ve got 300 polygons moving in an oscillating chain. Basic horizontal and vertical symmetry add the special sauce.
WebGL is a super-powerful tool for creative expression on the web, and three.js makes an otherwise obtuse system a pleasure to work with. Here is a kaleidoscope created with WebGL via three.js. It has a number of configurable features including the number of axis and the type of grid used. It also uses environment mapping for a nice reflective effect.
Layering a few oscillations can produce dramatic effects. This project uses vertex and fragment shaders written in GLSL with a custom Three.js shader. We begin with a sphere and then send multiple compound waves through each axis via a vertex shader. The fragment shader then uses the offset values to map a color to each vertex. This demo give you control over each modulation wave an the colors used to represent the offsets.