DogLua � un'interfaccia di scripting per
Project Dogwaffle,
un tool per il disegno e l'animazione di Dan Ritchie.
Fornisce un ambiente per la sperimentazione rapida con algoritmi
di elaborazione delle immagini, usando Lua
come linguaggio di scripting.
DogLua � largamente ispirato a gluas,
di OEyvind Kolaas, con cui cerca di essere il pi� compatibile possibile, offrendo
una sintassi molto simili per le funzioni di manipolazione pixel di base.
Installazione
Basta decomprimere il pacchetto nello stesso folder di Project DogWaffle.
gluas compatible API
v = get_value(x, y)
set_value(x, y, v)
r, g, b = get_rgb(x, y)
set_rgb(x, y, r, g, b)
r, g, b, a = get_rgba(x, y)
set_rgba(x, y, r, g, b, a)
h, s, v = get_hsv(x, y)
set_hsv(x, y, h, s, v)
progress(v)
flush()
gluas-like API
y, u, v = get_yuv(x, y)
set_yuv(x, y, y, u, v)
y, i, q = get_yuv(x, y)
set_yiq(x, y, y, i, q)
Ecco un esempio di script per generare un'immagine negativa:
-- negative (from a gluas sample)
for y = 0, height - 1 do
for x = 0, width - 1 do
r, g, b = get_rgb(x, y)
r = 1 - r
g = 1 - g
b = 1 - b
set_rgb(x, y, r, g, b)
end
progress(y / height)
end
Uno script appena pi� complesso per un effetto threshold con livello selezionabile:
-- Simple threshold
level = Dog_ValueBox("Threshold",
"Choose level", 0, 100, 50)
if level >= 0 then
level = level / 100
for y = 0, height - 1 do
for x = 0, width - 1 do
v = get_value(x, y)
if v > level then
v = 1.0
else
v = 0.0
end
set_value(x, y, v)
end
progress(y / height)
end
end
Ulteriori script si possono trovare nelle pagine di
Artweaver; un
plugin Lua offre compatibilit� a livello di funzioni di manipolazione pixel.
Ultima ma non ultima, nella pagina dedicata a DogLua su The Best 3D
si pu� trovare una galleria di script per una variet� di effetti.
Per i primi passi con Lua, invece, c'� l'ottima sezione
Lua Tutorial del
lua-users wiki, in aggiunta al sito ufficiale di
Lua.
Download
DogLua v0.61b, 196KB ZIP
- Mirror alternativo da TheBest3D.com, link
Change Log
DogLua v0.61b - 11/09/05:
+ Editor & DogLua runtime ora sono due esegubili separati
+ Ora usa LuaJIT, basato su Lua 5.1
+ Miglioramento generalizzato delle prestazioni, di circa un 3x
+ DogLua riporta eventuali errori nello standard output
+ DogLuaEdit si posiziona sulla linea incriminata in caso di errori
+ Aggiornamento della Progress bar ottimizzato
+ GUI Server: automatismi per l'apertura e chiusura della dialog box
+ GUI Server: GUI_AddLogo() cerca la bitmap nel folder DogLuaScripts se non � specificato nessun path
+ Lua helper: decimal2rgb() per convert i valori ottenuti con GUI_Colorbox()
DogLua v0.59b - 11/09/05:
+ GUI Server API: GUI_SetSpacing, GUI_SetList, GUI_AddLogo
+ Dogwaffle API: Dog_SaveUndo, Dog_RestoreUndo
+ gluas-like API: set_yiq, get_yiq
+ Lua helper: hex() per convertire una stringa hex in un numero
* Modificati i getter & setter per il colorspace YUV
DogLua v0.58b - 05/09/05:
+ gluas-like API: set_yuv, get_yuv (simili alle funzioni gluas, ma per il color space YUV)
+ GUI Server API: GUI_SetCaption, GUI_AddControl, GUI_OpenPanel, GUI_WaitOnEvent, GUI_ClosePanel, GUI_GetSettings, GUI_SetSettings
DogLua v0.57b - 02/09/05:
+ API Dogwaffle: Dog_GetTotalFrames, Dog_GetCurrentFrame, Dog_GotoFrame,
Dog_GetBuffer, Dog_ShellExe
* L'alpha veniva considerato anche se non abilitato
DogLua v0.56b - 29/08/05:
+ Info dettagliate riguardo ad eventuali errori Lua
+ gluas API & var: get_hsv, set_hsv, bound_x0, bound_x1, bound_y0, bound_y1
+ Finestra ridimensionabile
DogLua v0.55b - 25/08/05:
+ Progress bar sul pannello dei plugin
+ API Dogwaffle: funzione Dog_ValueBox per gestire l'input dall'utente
+ Aggiunti menu accelerators
DogLua v0.54b - 21/08/05:
+ Possibilit� di lanciare uno script (sorgente & bytecode) da linea di comando
* Sistemato un memory leak
DogLua v0.53b - 20/08/05:
+ La voce "New" ora resetta l'ambiente Lua
+ Le funzioni che modificano pixel ora controllano l'alpha channel
* Ora funziona sia con PD Pro che con la versione free
DogLua v0.52b - 18/08/05:
+ API Dogwaffle: Dog_Refresh
+ API gluas compatibile: get_rgba, set_rgba, flush
* La voce "Open file..." ora si apre sul folder corretto
DogLua v0.51b - 16/08/05:
+ Font non proporzionale nella finestra del codice
+ Librerie standard Lua (math, table, strings, etc.) incluse
+ Aggiunta la voce "Save As..." nel menu
- La categoria del plugin passa da "filter" a "misc"
DogLua v0.50b - 15/08/05:
+ Prima versione disponibile!