ugrás a tartalomhoz

Színváltós festék

Joó Ádám · 2010. Júl. 31. (Szo), 15.01

Régi játékosok előnyben: kinek mond valamit a színkeringetés (color cycling)? A 8-bites érában a videójátékok 256 elemű, előre válogatott színpalettával dolgoztak – azonban a palettát menet közben is lehetett cserélni. A színkeringetés néven elterjedt technikával a megjelenített színek száma sokszorosára emelhetővé vált, miközben egészen elképesztő vizuális hatásokat lehetett elérni, szinte a teljesítményre gyakorolt hatás nélkül.

Ezen időket elevenítette fel Joe Huckaby, aki Mark Ferrari klasszikus képeibe lehelt életet ezúttal HTML5 alapon.

Jungle Waterfall
Jungle Waterfall

A bemutató oldalon Mark harmincöt 640×480-as képe tekinthető meg, különböző napszakokban és időjárási körülmények közt, hozzáillő aláfestőzenével. Érdemes megjeleníteni a beállításokat, itt állítható a sebesség, és megfigyelhető a paletta változása is.

Mivel egy 640×480-as kép azt jelenti, hogy kockánként egy 307 200 pixelt nyilvántartó tömböt kell bejárni, a gyakorlati megvalósítás során szükség volt egy kis csalásra: Joe a betöltéskor minden képet feldolgoz, egy kisebb tömbbe csak a változó képpontok koordinátáit emelve ki. Ezeket frissítve a teljesítmény annyival javul, hogy már egy iPhone-on is gond nélkül fut az animáció.

A másik újdonság, melyet bevezet az általa BlendShift Cyclingnak nevezett eljárás, amivel még finomabb színátmeneteket valósít meg. A bemutatón ez külön kapcsolható.

Az eredeti, DOS-on Deluxe Painttel készült képek egy C++ programmal lettek átalakítva ILBM formátumból JSON-ba, méretük 100K körül van. Internet Exploreren kívül minden böngészőben működik, a forráskód LGPL alatt elérhető.

 
1

Off

janoszen · 2010. Aug. 1. (V), 08.02
Régi szép idők...
2

data uri

zzrek · 2010. Aug. 1. (V), 08.27
Nem lenne egyszerűbb url(data:image/png;base64, ... ) trükkel megcsinálni ugyanezt? Mondjuk gif formátumba betenni a képet és akkor tényleg csak a palettát kéne átirogatni és frissíteni a képet. Lehet, hogy ki is próbálom.
3

Lehet

Joó Ádám · 2010. Aug. 1. (V), 13.31
Ez se rossz megoldás, de gondolj arra, hogy itt egy játékról van szó: a vászon sokkal inkább programozható, mint a gif.