Skip to content

alan butler alan butler

  • works
    • Pneuma (2025)
    • Fountain (2025)
    • Thanatophone (2025)
    • Normal Paintings (2025-)
    • Ghost Mussels (2025-)
    • Procedural Oceanscapes For GLSL (2025-)
    • Plantationocene (2025)
    • Vanitas (2025)
    • Optical Earth (2024)
    • The Production of Space (2023-2026)
    • Procedural Landscapes for Android (2023-2025)
    • Ars Moriendi (2023)
    • Orthopraxy (2023)
    • Content Live! (2023)
    • One Hundred Years of Solitude (2023)
    • Totem (2023)
    • Spatial Audio (2023)
    • Hyperspace (2023)
    • Protean Views: Eboulement de la Vallée de Goldau (2023)
    • Endlings (2023)
    • Entanglement, with ANNEX (2021)
    • Seating from ‘Entanglement’ (with ANNEX, 2021)
    • Smithfield Utah (2021)
    • The Catwalker and the Catwalker’s Intern (2018)
    • The Enthusiasts (2018)
    • MONDO CANE! (2018)
    • Sturtevant_a_m_f_skidrow_01_Finite_Infinite (2018)
    • Le Moment Fabriqué (2017)
    • On Exactitude in Science (2017)
    • TWENTYSIX GASOLINE STATIONS (2017)
    • Virtual Botany Cyanotypes (2016-)
    • Deskscapes (2016-)
    • Down and Out in Los Santos (2015-)
    • Pragmatophobia.net (2014)
    • Come Together (2013)
    • Flying Tin Deep Pan Folly (2013)
    • Watch Us All Gavotte (2010)
    • Some Kind of Agit Prop Monster (2010)
    • The Image Factory (2008-2010)
    • Walking in Wall (2005)
  • installation views
  • cv / bio
  • contact
  • bsky
  • CAVEAT EMPTOR*

Procedural Oceanscapes For GLSL (2025-)

Date: 2025-
Medium: GLSL Shader script, GPU, PC, 4K video screen,
Duration: Generative moving image, duration infinite.

A ‘shader’ is a small piece of computer code that runs on the GPU to calculate how each pixel (or vertex) should look on the screen. When we think about how 3D graphics are made, we might first think of the ‘geometry’ that provides an object’s form and scale. Shaders are the thing we we wrap around the geometry to produce the object’s color, sheen or texture. Geometry defines the shape and structure of objects using vertices and triangles, while shaders define how those surfaces look by computing color, lighting, bumps, and other effects for each pixel. A shader can make a flat object appear to have texture on its surface, because it can tell the computer to bend a ray of light near the surface of an object so that it appears bumpy or smooth.
So now that you know that…
This series of generative video works uses OpenGL Shader Language (GLSL) to produce vibrant ocean videos with no geometry. Instead of simulating the 3D shape of water, the shader runs a mathematical algorithm to fake a ray of light hitting an imaginary ocean. The wave shapes come from functions that describe how water movement might move over time, and the shader uses those mathematical functions to figure out where the surface of the water would be and what direction it would be facing. Using this information, it calculates the lighting to create the impression of a body of water. There’s no easy way to explain this, but you will have to make do with this explanation.

Quick Links

  • works
  • installation views
  • cv / bio
  • contact
  • bsky
  • CAVEAT EMPTOR*

Search