@hackage hylogen0.1.2.0

an EDSL for live-coding fragment shaders

H Y L O G E N

Hackage Status

Hylogen is a purely functional language embedded in Haskell for live-coding fragment shaders, featuring:

  • a simple and pure syntax
  • standard operators (+, *, *^, <.>)
  • compat. w/ your fav haskell goodies (higher-order functions, ADTS, swanky polymorphism).

It comes with hylide, an accompanying rendering environment featuring:

  • hot-reloading
  • audio-reactive primitives
  • texture backbuffering

Install

cabal update
cabal install hylogen

This will install the hylogen package and hylide, the rendering environment.

Usage

-- ./Main.hs
module Main where
import Hylogen.WithHylide

color = vec4 (a, a, a, 1)
  where
    a = cos(x_ uvN * sin(time/10)*10 + x_ mouse )
      + sin(y_ uvN * sin(time/10)*10 + y_ mouse )

main = putStrLn . toGLSL $ color

run hylide...

hylide Main.hs

... live-code!

Go to localhost:5678 in your browser.

You will now see your changes to Main.hs propagate to your WebGL rendering environment!

References

  • The_Force by Shawn Lawson. Live-coding audio-reactive shaders!
  • data-reify by Andy Gill. Makes compile times combinatorially faster

Resources