
# Beispiele für fdraw mit prozeduralen Generatoren
# in der Sprache awk.

# reinhard@finalmedia.de
# Thu May 14 11:19:17 AM CEST 2026
# Public Domain


# fdraw beziehen und bauen
wget https://finalmedia.de/code/fdraw.tar.gz
tar xvfz fdraw.tar.gz
cd fdraw
make
cp ./fdraw /usr/bin/fdraw
cd 

# Eine Named Pipe in der Ramdisk erstellen
mkfifo /dev/shm/videocmd

# Stream starten (bleibt ewig im Hintergrund offen und liest die named pipe)

export SCREEN_WIDTH=1920
export SCREEN_HEIGHT=1080
export SCREEN_FPS=30
tail -F /dev/shm/videocmd | fdraw | ffplay -f rawvideo -pixel_format rgba -video_size 1920x1080 -framerate 30 -i -

# dann kann man nun in einem anderen Terminal
# die fdraw Befehle nach /dev/shm/videocmd pipen
# Hier prozedurales Beispiele

wget https://finalmedia.de/code/fdraw/barnsley.awk 
gawk -v width=1920 -v height=1080 -f barnsley.awk > /dev/shm/videocmd

wget https://finalmedia.de/code/fdraw/torus.awk 
gawk -v width=1920 -v height=1080 -f torus.awk > /dev/shm/videocmd

wget https://finalmedia.de/code/fdraw/fire.awk 
gawk -v width=1920 -v height=1080 -f fire.awk > /dev/shm/videocmd

wget https://finalmedia.de/code/fdraw/starfield.awk 
gawk -v width=1920 -v height=1080 -f starfield.awk > /dev/shm/videocmd

wget https://finalmedia.de/code/fdraw/plasma.awk 
gawk -v width=1920 -v height=1080 -f plasma.awk > /dev/shm/videocmd

# Du kannst immer in stdout sehen, da es ja nur die 
# fdraw befehle als ascii sequenzen absetzt

