hot-reloaded graphics scripting with luajit and fragment shaders
layer.filter to set the texture filter mode
updates readme
fixes messages


browse  log 



You can also use your local clone with git send-email.


luajit interpreter for livecoding graphics by using shaders, images and minimal 2d graphics. For example, it can do things like this and this. It owns a lot to raylib, that is used for windowing, 2d primitives, image loading and shaders. Code is hotreloaded on save by using inotify and webcam is managed with linux v4l2 drivers, so for now this tool is linux-only.

namespace list:

  • args : access cli args listed after the script path
  • audio : connects to JACK to get audio envelope
  • cam : webcam input
  • clock : gets and warps time
  • frag : manage shaders
  • key : keyboard input
  • layer : manage different fbo object used as graphical "layers"
  • lfo : cyclical waveforms
  • mouse : mouse input
  • noise : 1-2-3-4 dimensions perlin noise
  • nsk : 2d primitives and other various functions
  • pad : gamepad input
  • png : load images (not just png)
  • rand : various random functions
  • window: manage window size, position, background and title

the code is functional but still a work in progress; for now this is something made by myself for myself.

you can see some examples in the scrapbook (only the .lua files) and scriptools.


this is a memo for myself ( on debian 10 ):

sudo apt-get install libv4l-0 libv4l-dev liblo7 liblo-dev jackd1 libjack-dev 
git clone https://git.sr.ht/~npisanti/rsketch
cd rsketch 

mkdir libs
cd libs 

git clone https://github.com/raysan5/raylib
cd raylib/src
sudo apt install libasound2-dev mesa-common-dev libx11-dev libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev libglu1-mesa-dev
sudo make install 

cd ..
git clone https://luajit.org/git/luajit-2.0.git
cd luajit-2.0
git checkout v2.1

cd ..


Nicola Pisanti GPLv3 License 2020