hot-reloaded graphics scripting with luajit and fragment shaders
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Nicola Pisanti 69d5555037 fixes wrong message in printf 1 week ago
src fixes wrong message in printf 1 week ago
.clang-format first draft commit 7 months ago
.gitignore another renaming 2 months ago
LICENSE.md readme and license 7 months ago
Makefile optimize for native arch 3 weeks ago
README.md updates readme 2 months ago

README.md

nsketch

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.

building

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
make 
sudo make install 

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

cd ..
make 

license

Nicola Pisanti GPLv3 License 2020