Hlavní navigace

Jak se dělá pixel art?

20. 11. 2007
Doba čtení: 11 minut

Sdílet

V dalším článku o pixel artu se seznámíme s technikami, které jsou při tvorbě obrázků používány. Také si řekneme, které grafické editory se především v minulosti pro pixel art používaly. Zmíníme se i o starších a dnes už takřka legendárních editorech typu Art Studio, Koala Painter či Deluxe Paint.

Obsah

1. Další techniky používané v pixel artu
2. Práce s omezeným počtem barev
3. Tvorba obrázků určených pro displeje s nízkým rozlišením
4. Využití či obejití dalších zvláštností grafického subsystému
5. Historické grafické editory používané při tvorbě pixel artu
6. Amiga: ráj pro grafiky
7. Odkazy na další informační zdroje
8. Obsah poslední části článku o pixel artu

1. Další techniky používané v pixel artu

V úvodní části článku o pixel artu jsme si řekli, že se tato malířská technika velmi často využívá při tvorbě izometrických obrázků, ve kterých není použito perspektivní promítání. V této podobě je pixel art samozřejmě už na první pohled jasně rozeznatelný, protože izometrické obrázky se sklonem hran typicky 0°, 30°, 90° a 150°, jež vypadají i na displejích s malým rozlišením přirozeně, si nelze s ničím splést. Existují však i další malířské a částečně i programátorské techniky a triky, pomocí nichž pixel artisté obcházejí limity dané použitou technologií zobrazení.

pa01

Klasický izometrický pixel art (256 barev)

Typicky – především v minulosti, ale na některých zařízeních i dnes – se pixel artisté museli vypořádat s omezeným počtem barev, které bylo možné v obrázcích použít, malým rozlišením displejů (resp. malým rozlišením grafických režimů) a dalšími technickými omezeními celého grafického subsystému. Například grafické režimy ZX Spectra (speccy) či Commodore C64, ve kterých se rastrové obrázky skládaly z bloků o velikosti 8×8 či 4×8 pixelů, v nichž bylo možné využít omezený počet barev, vyžadovaly zvláštní pozornost grafika a mnohdy je až neuvěřitelné, pomocí jakých fint se zamezilo tvorbě jasně viditelných čtverců.

pa02

Obrázek vytvořený v grafickém režimu ZX Spectra, který obsahuje pouze 9 barev!

2. Práce s omezeným počtem barev

Prvním a častým problémem tvůrců pixel artu je omezený počet barev daný buď použitím specifického zobrazovacího zařízení (černobílé CRT displeje, barevné CRT displeje připojené přes digitální rozhraní, jednoduché pasivní LCD atd.) nebo použitým grafickým režimem. Například běžný televizor dokáže zobrazit až několik desítek tisíc barevných odstínů (v závislosti na odstupu signálu od šumu), ale domácí osmibitové počítače z této barevné škály využily pouhý zlomek – ZX Spectrum 15 odstínů, Commodore C64 16 barev a osmibitová Atari až 128 či 256 barev (ovšem s poměrně velkým omezením na počet současně zobrazitelných barev). Podobné omezení najdeme i u prvních „profesionálních“ PC používajících grafické karty Hercules, CGA či EGA.

pa03

Tento screenshot ze hry Gods od Bitmap Brothers obsahuje pouze 15 barev, i když působí mnohem pestřeji

Grafici poměrně rychle přišli na to, jak částečně nedokonalost v zobrazování barev obejít. Začal se používat takzvaný dithering. Není to žádná moderní technologie, protože podobné postupy se využívaly již v minulosti například na mědirytinách (ty jsou použity ve Verneovkách, alespoň ve starších vydáních), při litografickém tisku i v běžných novinách. Pro účely počítačové grafiky se samozřejmě musí použít jiný typ ditheringu založený na rastrové podobě obrázku – to je například jeden z důvodů, proč se s postupem známým z mědirytin setkáme pouze ve specializovaných tiscích (bankovky), ale pro výstup z počítače na obrazovku je zcela nevhodný.

pa04

Obrázek, jenž byl díky ditheringu vytvořen pouze ze sedmi barev (demoscéna ZX Spectra)

Dithering je založený na seskupení několika pixelů, jejichž barvy se více či méně odlišují. Při pozorování z větší vzdálenosti dojde ke „slití“ barev, čímž vlastně získáme nový barevný odstín. Dithering se samozřejmě dá provádět zcela automatizovaně – většina grafických editorů či prohlížečů obrázků nabízí několik různých způsobů ditheringu, stejně jako RIP (Raster Image Processor) v tiskárnách (typickým příkladem jsou laserové tiskárny a osvitové jednotky). Ovšem pro dosažení co nejlepšího vzhledu výsledného obrázku musí místo algoritmu nastoupit člověk – pixel artista –, který dithering provede ručně (pixel art nelze zaměňovat s image processingem). Používá se přitom stejná technika, jakou mají k dispozici algoritmy, ovšem člověk dokáže lépe určit, jak se má dithering provádět na hranách, v blízkosti ploch o velkém kontrastu atd.

pa05

Dithering je použit i u tohoto obrázku s 11 barvami (Chaos engine od Bitmap Brothers)

3. Tvorba obrázků určených pro displeje s nízkým rozlišením

Grafici se musí i dnes často setkávat s displeji, které nabízí pro zobrazování grafiky malé rozlišení. Typické moderní LCD panely mají rozlišení 100 až 150 PPI (pixels per inch), což je pro některé potřeby nedostačující. Tento problém se většinou řeší použitím barevných přechodů, které nahradí původně ostré hrany – tím se například zamezí vzniku nežádoucích „schodů“ (jaggies) při kresbě čar. Tato technika sice dává v mnohých případech žádoucí výsledky, má však jeden nedostatek – vyžaduje použití většího počtu barev. Pokud se sejdou požadavky na použití malého počtu barev zobrazeného na zařízení s nízkým rozlišením, může tyto požadavky dobře splnit opět pouze člověk – algoritmy na řešení sice existují (některé jsou dokonce založeny na neuronových sítích), ale většinou nedávají žádoucí výsledky.

pa06

Na tomto obrázku s 222 barvami je použit dithering pro vyhlazení barevných přechodů (mimochodem, najdete zde dvě lidské postavy?)

4. Využití či obejití dalších zvláštností grafického subsystému

Už v první kapitole jsem napsal, že mnoho grafických subsystémů z různých důvodů obsahuje některá další technická omezení, nejenom nízké rozlišení a malý počet barev. Podívejme se například na grafický režim ZX Spectra. Ten nabízí na svou dobu poměrně slušné rozlišení 256×192 pixelů při použití patnácti barev, přesněji řečeno osmi barev, z nichž každá může mít dvě rozdílné intenzity (jedinou výjimkou je šedá, u které se intenzita nemění). Pokud by ovšem každý pixel mohl mít nezávisle na okolí jednu ze šestnácti barev, zabrala by obrazová paměť 256×192×4/8=24 kB. V době vzniku ZX Spectra by tak velký framebuffer nebyl v rozumné cenové relaci realizovatelný, jak z hlediska objemu paměti, tak i její rychlosti (obnovovací frekvence obrazu je 50 Hz, takže by se každou sekundu načítalo 50×24=1200 kB) a současně i rychlosti celého počítače (generování obrazu „krade“ cykly CPU).

pa07

Pouze pětibarevný obrázek nakreslený na ZX Spectru

Z tohoto důvodu je celý framebuffer logicky rozdělený na bloky o velikosti 8×8 pixelů, přičemž každému bloku lze přiřadit dvě nezávislé barvy. To mj. znamená, že každý pixel v bloku je reprezentován pouze jedním bitem. Celková velikost obrazové paměti je odvozena z počtu bloků: 256/8=32, 192/8=24. 32×24 bloků=768 bytů pro úschovu jejich barev (tzv. atributy) a 32×24×8=6144 bytů je rezervovaných pro úschovu jednotlivých pixelů (rozlišení popředí-pozadí). Celkem tedy obrazová paměť zabírá pouhých 768+6144=6912 bytů, tj. jednu třetinu původní kapacity.

pa08

Bloková struktura obrázku je patrná zejména u obou blesků (styk levého blesku s budovou)

Takto navržená struktura obrazové paměti má ovšem tu nevýhodu, že při výběru barev jsou grafici omezeni oněmi 8×8 pixelů velikými bloky. Na některých obrázcích je bloková struktura jasně patrná, někde ji grafik umným využitím všech možností (posun objektů na násobky osmi, dithering atd.) zakryl. Osobně považuji obrázky vyrobené na ZX Spectru a Commodore C64 (který má podobnou strukturu obrazové paměti, i když méně nápadnou) za nejlepší ukázku starších forem pixel artu.

pa09

Ovšem zde se podobná chyba nevyskytuje, resp. je díky ditheringu skryta

5. Historické grafické editory používané při tvorbě pixel artu

V minulosti se na osmibitových domácích počítačích a později i na 16/32 bitových osobních počítačích používalo velké množství grafických programů, které výrazným způsobem ovlivnily vzhled a funkci dnešních ultramoderních aplikací. Uživatelům ZX Spectra asi nebude neznámý pojem Art Studio, což byl jeden z velmi úspěšných programů (vznikl už v roce 1986, nejenom pro Spectrum, ale například i pro Commodore C64), který pro výběr operací používal dnes již klasická rozbalovací menu. Mezi podporované grafické techniky patřilo samozřejmě kreslení jednotlivých pixelů, základních grafických tvarů i populární airbrush. Z novějších programů určených pro ZX Spectrum a jeho klony je možné jmenovat Burial Graphics Editor a Excess Deluxe Paint, které jsou známé především mezi příznivci demoscény. Burial Graphics Editor je dokonce šířený jako open source, což je zejména pro znalce strojového kódu Z80 a ROMky speccyho pěkný výukový materiál.

pa10

Koala Painter spuštěný na počítači Apple II

Na osmibitových počítačích Atari se pro tvorbu černobílé grafiky v rozlišení 320×192 pixelů často používal program Design Master, jehož grafické uživatelské rozhraní bylo také založeno na rozbalovacích menu. V tomto programu bylo možné pracovat se dvěma obrázky (každý o velikosti 7680 bytů), mezi nimiž se přenášely obdélníkové bloky pixelů. Design master samozřejmě podporoval zvětšení části obrázku, ve kterém se provádí kreslení, nebylo ovšem možné současně vidět zvětšený obrázek i obrázek v plné velikosti. Později se mezi demoscenéry rozšířil program Paint256, který za pomoci různých triků (zejména obsluhy přerušení vyvolaného horizontálním během paprsku) dokázal pracovat v režimu 320×192 pixelů s prokládaným obrázkem s 256 barvami.

pa11

Grafické uživatelské rozhraní editoru Paint256

Ovšem nejzajímavější byl v té době program Koala Microillustrator, známý též pod jménem Koala Painter. Tento program, který bylo možné používat například na počítačích Apple II, Atari, Commodore C64, TRS-80 či dokonce na originálním IBM PC, používal pro komunikaci s uživatelem jednoduchých ikon, což bylo v té době poměrně nezvyklé. Při pohledu na další obrázek je patrné, jak celé uživatelské rozhraní vypadalo (snímek je pořízený na počítači Commodore C64, na jiných počítačích je barevná paleta více omezená). Samotný vytvářený obrázek není viditelný, protože je zobrazený na samostatné obrazovce – menu s ikonami a obrázek se nemohly překrývat. Za zmínku stojí především operace zoom, bez které je tvorba pixel artu ne-li nemožná, tak alespoň značně ztížená.

pa12

Koala Painter spuštěný na počítači Commodore C64

Neobvyklý byl také způsob ovládání této aplikace – kromě joysticku či klávesnice bylo možné použít takzvaný Koala Pad, což je vlastně předchůdce dnešních tabletů. Ovladač Koala Pad bylo možné nahradit i dvojicí potenciometrů – paddle, které se v našich krajích poměrně rozšířilo, protože málokdo měl zakoupený originální ovladač (ostatně sestavení paddle bylo výhodné i pro hraní některých her, například Arkanoidu).

pa13

Ovladač Koala Pad

Na Atari ST bylo dostupných mnoho grafických editorů. Mezi příznivci demoscény se oblibě těší například Crack Art TT, Cyber Paint, Degas Elite, Neochrome Master či Synthetic Arts.

Velký vliv na další vývoj grafických programů měl bezesporu MacPaint (http://en.wi­kipedia.org/wi­ki/MacPaint) – jednoduše ovladatelný grafický program dodávaný k původním počítačům Macintosh, který zpracovával obrázky s fixní velikostí 576×720 pixelů v černobílém režimu (ostatně celé uživatelské rozhraní Macintoshe bylo černobílé). Pokud vám rozhraní programu MacPaint připadá povědomé, nejedná se o náhodu – tímto programem je inspirován například i slavný Photoshop, jehož první verze se od MacPaintu zásadně nelišila.

pa14

MacPaint

Z programů určených pro MS-DOS je možné jmenovat původní PaintBrush, jednoduchý editorek Dr.Halo a především populární aplikaci s líbivým grafickým uživatelským rozhraním Neopaint, která byla často pro pixel art používána. V Neopaintu je možné provádět zvětšení obrázku v okolí kurzoru (stále je vidět pohled na původní část obrázku), kreslit základní geometrické tvary atd. Důležité jsou zejména nástroje pro kreslení perem, fixou a štětcem spolu s jednoduchým výběrem barev z barvové palety. Podle schopností grafické karty lze vytvářet všechny druhy obrázků: od černobílých přes obrázky se 16 či 256 barvami až po plnobarevné fotografie. Neopaint je dodnes vyvíjen, nyní ovšem pro platformu Microsoft Windows.

pa15

Neopaint běžící ve VGA režimu 640×480×16 barev

Mezi pixel artisty se oblibě těšil také grafický editor GrafX, jež je zobrazen na následujícím obrázku. Kromě základních nástrojů obvyklých v editorech této kategorie vyniká GrafX zejména možností současného náhledu na obrázek ve zvětšení i v původní velikosti a použitím klávesových zkratek (je až k neuvěření, že mnoho grafických editorů doposud nemá mnoho základních operací namapováno na klávesové zkratky, protože kombinace klávesnice+myš může podstatným způsobem zrychlit práci). Za zmínku ještě stojí, že některé ikony tohoto programu (i jejich funkce) se nápadně podobají ikonám použitým v Deluxe Paintu.

pa16

Grafický editor GrafX

6. Amiga: ráj pro grafiky

Naše povídání o pixel artu by nebylo úplné, kdybych se nezmínil o grafických editorech používaných na slavných Amigách. Nejznámějším editorem je bezpochyby Deluxe Paint autora Dana Silvy, zejména jeho pátá verze – Deluxe Paint V publikovaná firmou Electronic Arts. V této verzi, která měla na dnešní dobu neuvěřitelně malé nároky na HW (2 MB RAM), bylo možné vytvářet statické obrázky i animace, používat 24bitovou grafiku či klasický HAM režim (až 4096 barev v původním režimu 32/64 barev), programovat makra, použít část obrázku jako štětec, definovat štětce s gradientem apod. Mnoho statických obrázků, spritů či pozadí do her i animací bylo vytvořeno právě v Deluxe Paintu. Dokonce i obrázky pro hry určené pro počítače PC mnohdy vznikaly na Amize s použitím tohoto programu, což je jistě zajímavé a pro PC trošku ostudné. Ostatně není se čemu divit, stačí porovnat grafické schopnosti stařičké Amigy 500 se schopnostmi grafických karet CGA, EGA, Hercules či VGA, aby bylo jasné, na které platformě byla tvorba obrázků jednodušší.

pa17

DeluxePaint spuštěný v emulátoru Amigy

Mezi další grafické editory používané na Amigách patří Photon Paint a Brilliance. Zejména Brilliance v některých ohledech předčí i výše zmíněný Deluxe Paint, ovšem jeho menší popularita byla způsobena pozdějším příchodem na trh v době, kdy popularita Amigy už začínala klesat.

pa18

DeluxePaint byl portován i na Macintoshe

7. Odkazy na další informační zdroje

  1. GfxZone (určitě se vyplatí navštívit galerii a články):
    http://gfxzone­.planet-d.net/
  2. Server věnovaný demoscéně:
    http://www.sce­ne.org/
  3. Informace o stále živém počítači C64:
    http://www.c64­.org/
  4. Photoshop tutorials:
    http://www.grafx-design.com/pho­totut.html
  5. ZX Spectrum Graphics Modes:
    http://gfxzone­.planet-d.net/articles/zx_spec­trum_graphics-article01.html
  6. Atariki (Wiki o Atari, polsky, ale dá se přečíst):
    http://atariki­.krap.pl/index­.php/Strona_głów­na
  7. Recenze Deluxe Paint V, AMIGA REVIEW.online:
    http://amigare­view.amiga.sk/a­miga-review-8/deluxe-paint-v
  8. Wikipedia: Deluxe Paint:
    http://en.wiki­pedia.org/wiki/De­luxe_Paint
  9. Wikipedia: Brilliance:
    http://en.wiki­pedia.org/wiki/Bri­lliance_(grap­hics_editor)
  10. Wikipedia: Photon Paint:
    http://en.wiki­pedia.org/wiki/Pho­ton_Paint
  11. Wikipedia: mtPaint:
    http://en.wiki­pedia.org/wiki/MtPa­int
  12. Amiga history guide: What is DPaint?
    http://www.ami­gau.com/aig/dpa­int.html
pa19

Nic není ztraceno ani v případě, kdy nemáme počítač – pixel art lze tvořit i na cihlové zdi…)

8. Obsah poslední části článku o pixel artu

Příští týden se seznámíme s několika grafickými programy, které je možné pro pixel art použít. Zmíním se jak o programech určených pro operační systém Linux, tak i o aplikacích vytvořených v Microsoft Windows a Mac OS.

Byl pro vás článek přínosný?

Autor článku

Vystudoval VUT FIT a v současné době pracuje na projektech vytvářených v jazycích Python a Go.