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 program that runs on the GPU to calculate how each pixel (or vertex) should look on the screen. Shaders are used to control how things are drawn on screen, including their color, lighting, textures, and visual effects. They are different that geometry (think: 3D wireframe model) because geometry defines the shape and structure of objects using vertices and triangles, while shaders define how those surfaces look by computing color, lighting, and effects for each pixel.
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 light ray 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 3D space. 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