dish-client
,
dish-vi
,
dish-get
,
dish-put
,
dish-num
soustava shelových scriptů, pro spočítání animace ze spočítaného .bur
s pomocí více počítačů.
Na serveru musí být přítomné scripty dish-vi
, dish-get
,
dish-put
, dish-num
program job
, pro vytváření .pov z .bur. Také je zde spočítaná animace
.bur.
Na clientu musí být dish-client
a povray
. Script
dish-client
si
vytvoří adresář tmp a do něj si bude ze serveru stahovat popisy scén,
spočítané obrázky vrací serveru.
Čísla framů, která se mají spočítat, jsou
v souboru dish.todo
(na serveru). Všechna čísla jsou na jednom řádku
oddělená mezerou.
Scripty dish-num
a dish-vi
vytváří soubor(lockfile) dish.lock
,
čímž je zajištěno, že při práci s dish.todo
nedochází ke kolizím.
dish-client
Script dish-client využívá program ssh a proto je dobré umožnit clientům přístup k serveru bez autorizace (viz. man ssh).
Ve scriptu je také třeba upravit nastavení těchto proměnných,
SERVER
Uživatel a server na který se bude dish-client
logovat a získavat
z něj popisy scén jednotlivých framů. Např:
vitas@vitas.kolej.mff.cuni.cz.
RDISH
Kde je adresář s dish-* na serveru
LDISH
Kde je adresář s dish-* na clientu
Taktéž je třeba upravit proměnnou prostředí PATH
tak,
aby vedla i k povray
'ovi.
dish-get
tento script je volaný z dish-clienta
, ale je spouštěn za pomocí
ssh
na straně serveru. Požádá dish-num
o další číslo
framu, vytvoří potřebné soubory, zataruje je. Vytiskne tři řádky:
první příkaz, který se má spustit (obyčejně něco jako
povray -ifile.pov -ofile.tga
). Druhý řádek je seznam souborů,
které se mají poslat zpět. Třetí řádek jsou soubory, které se po
skončení tohoto výpočtu mohou smazat. Poté následují zatarované
vstupní soubory.
dish-num
Vždy při žádosti clienta o práci script dish-num
přečte první číslo
ze souboru dish.todo
a smaže ho.
dish-vi
Editovat soubor dish.todo
je možné i za běhu výpočtu pomocí
tohoto scriptu. Klávesa ``m'' je namapovaná na ``zapsaní čísla o jedna většího,
než jaké je na místě kurzoru'', čehož lze s úspěchem využít při psaní
dlouhého seznamu framu. Tj. stačí napsat ``1'' a pak jen přidržet ``m''.
dish-put
pouze příjme zatarovaný výsledek od dish-client
'ta. A roztaruje jej.