reinhard@finalmedia.de cafeface
Mon Jun 1 01:00:14 AM CEST 2026
Public Domain
fvoxel liest auf stdin also fvoxel befehle und gibt auf stdout fdraw befehle aus.
Im Gegensatz zu fdraw verwendet fvoxel statt Kleinbuchstaben einzelne Großbuchstaben als Befehle.
M x y h r g b .......... Mapdatazeile x y heightmap_value(gray) color r, color g, color b setzen P x y h r p z .......... Position der Kamera auf der Map (x,y), Hoehe, Drehung, Pitch und Zoom setzen C r g b t n rn gn bn ... Colorcycling Slot definieren Originalfarbe (r,g,b), timedelay in ms, slotnumber, slot r,g,b
Für alle Werte gilt... Buchstaben A-Z als Befehle. Jeweils positive Ganzzahlen. Für Drehung ist es 0 bis 360 (als Gradangabe), Für Pitch ist es 0 bis 360 (als Gradangabe) Für Zoom ist es 0 bis 1000 (als Prozentuale angabe). Teleobjektiv höherer Wert, 100 ist Fischauge. 150 normal.
Damit kann man nun eine Terrain Map via stdin laden und eine Kamera positionieren. Sobald eine Kameraposition gesetzt wird, wird der Frame und die Voxelwelt neu berechnet.
Dabei kann der Raum auch verändert werden, also man kann Berge, Täler und Flüsse entstehen lassen oder auch die Vegetation und Schatten (Farbe) verändern, indem man einzelne M Befehle neu übergibt und die Kamera wieder setzt.
Der Tarball beinhaltet eine selbst generierte Zufallsmap als 1024x1024. Tile wrap, als Beispiel und start.sh erstellt daraus mit imagemagick dann die map.txt. Alles weitere bitte in der start.sh nachlesen. Dort sind konkrete Beispiele für Animationen genannt.
Das System kann auch mit 4096x4096 Maps arbeiten.