Tag Search: GLSL

PerlinShader-6
Perlin Shader
, , , ,

Perlin noise can be used to create a wide variety of imagery. Here we use a fragment shader and Perlin noise to divide a canvas into regions and render different noise patterns in each. The resulting visuals are totally random and constantly evolving. You can also save high-res screenshots from the controls. This shader was written in GLSL and presented with Three.js. Javascript was used to track and evolve the individual regions.

View Experiment

PerlinShader-13 PerlinShader-12 PerlinShader-11 PerlinShader-10 PerlinShader-9 PerlinShader-8 PerlinShader-7 PerlinShader-5 PerlinShader-4 PerlinShader-3 PerlinShader-2 PerlinShader-1

reactiondiffusion-41
Reaction Diffusion Shader
, , ,

A simulation of two chemicals reacting in a fluid written in GLSL and presented using Three.js. ┬áThis experiment was adapted from Daniel Shiffman’s reaction diffusion in Processing tutorial, which was in turn adapted from Karl Sim’s excellent description of the process.

View Experiment

reactiondiffusion-39 reactiondiffusion-36 reactiondiffusion-35 reactiondiffusion-32 reactiondiffusion-30 reactiondiffusion-27 reactiondiffusion-24 reactiondiffusion-22 reactiondiffusion-20 reactiondiffusion-16 reactiondiffusion-13 reactiondiffusion-11 reactiondiffusion-8 reactiondiffusion-5 reactiondiffusion-3

VertexOsc5
Vertex Oscillation Shader
, , ,

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.

View Experiment

VertexOsc4 VertexOsc6 VertexOsc1 VertexOsc2 VertexOsc3