Hlavní navigace

Autodesk Animator: legendární program stojící za zrodem multimediálních PC

8. 10. 2020
Doba čtení: 24 minut

Sdílet

Jednou z prvních aplikací, které ukázaly, že i platforma (IBM) PC umožňuje zpracování multimediálních dat, je slavný Autodesk Animator naprogramovaný Jimem Kentem. Tato aplikace z roku 1989 v mnoha ohledech překročila svoji dobu.

Obsah

1. Autodesk Animator – legendární program stojící za zrodem multimediálních PC

2. Dozrání platformy IBM PC pro tvorbu animací

3. Grafický adaptér MCGA

4. Textové a grafické režimy MCGA

5. Rozhraní pro připojení monitoru k adaptéru MCGA

6. Grafická karta VGA

7. Standardní grafické režimy karty VGA

8. Režim 13h – základ pro Autodesk Animator

9. Aegis Animator a Cyber Paint

10. Cyber Paint

11. Tweening

12. Metamorphic animation

13. Další animační techniky

14. Autodesk Animator se představuje

15. Grafické uživatelské rozhraní Autodesk Animatoru

16. Titulky

17. Makra

18. Autodesk Animator Pro

19. Animator Studio

20. Odkazy na Internetu

1. Autodesk Animator – legendární program stojící za zrodem multimediálních PC

Na konci osmdesátých let minulého století se zdála být byla situace v oblasti počítačů vhodných pro tvorbu, popř. „konzumaci“ multimediálního obsahu stabilní – na jedné straně existovaly profesionální grafické stanice, jejichž pořizovací cena se pohybovala v oblasti vyšších desítek tisíc dolarů, na straně druhé se pak používaly osobní mikropočítače Atari ST, Amiga a některé modely Macintoshů (Macintosh II a vyšší modely). Klasická PC, tedy IBM PC (a klony), nebyly chápány jako vážná konkurence, což bylo původně způsobeno nevyhovujícím hardware (grafické karty, prakticky chybějící zvukový výstup) a posléze i neexistujícím programovým vybavením, protože PC byly nasazovány převážně do kancelářských provozů.

x

Obrázek 1: První verze Deluxe Paintu (Amiga 500).

Pro Atari ST a Amigu vzniklo velké množství grafických editorů (Deluxe Paint, Neochrome atd.), raytracerů, ale i dále popsaných programů určených pro tvorbu animací (Aegis Animator, Cyber Paint). Na Macintoshi, který se profiloval mj. i jako platforma pro přípravu tiskovin, se objevila podpora PostScriptu, vyšla první verze Adobe Illustratoru (1987) a chystalo se vydání první verze Photoshopu (1990), zatímco pro PC vznikly spíše jednodušší programy, které jen pomalu začaly využívat všechny možnosti nabízené tehdy novými grafickými kartami VGA.

x

Obrázek 2: Práce s 32 barvami.

Situace se změnila v roce 1989, protože právě tehdy vyšel program nazvaný Autodesk Animator, zkracovaný většinou na AA nebo AAT. Jednalo se o aplikaci, která začala využívat jak možnosti grafické karty VGA, tak i rozšíření paměti

x

Obrázek 3: Na zobrazení GUI je nutné v některých okamžicích obětovat jednu nebo dvě barvy, což se projeví i na obrázku.

x

Obrázek 4: Pokud se nezobrazuje menu, může být obrázek zobrazen v 16/32 barvách.

x

Obrázek 5: Nástroj „kapátko“.

x

Obrázek 6: V Deluxe Paintu III se objevila podpora pro režim EHB.

x

Obrázek 7: About dialog Deluxe Paintu III.

x

Obrázek 8: Výběr obrázku pro načtení.

x

Obrázek 9: Menu s výběrem rastrových efektů.

2. Dozrání platformy IBM PC pro tvorbu animací

Platforma IBM PC byla navržena především takovým způsobem, aby byly tyto počítače primárně použitelné pro kancelářskou práci. Tomu ostatně odpovídala i výbava – grafická karta (zpočátku MGA) sice dokázala zobrazit texty ve vyšší kvalitě (720 pixelů na řádek), ovšem vůbec nepracovala s grafickým výstupem. Pro ten bylo nutné použít druhou kartu CGA, jejíž možnosti ovšem v mnoha ohledech nedosahovaly ani parametrů starších osmibitových domácích mikropočítačů (malý počet barev, fixní a nevyhovující barvová paleta, žádná podpora pro sprity ani scrolling atd.). A zvukový výstup (PC Speaker) byl výsměchem uživatelům v porovnání s možnostmi všech tehdy dostupných alternativ (Atari ST, Amiga, ale i osmibitové mikropočítače). Situace se začala postupně měnit až v polovině osmdesátých let minulého století, kdy v několika málo letech došlo k vylepšení technologií a paralelně s tím i prvních animačních programů (typicky ovšem vznikly na jiné platformě, což o možnostech a popularitě IBM PC v této oblasti vypovídá mnohé).

x

Obrázek 10: Přepnutí Deluxe Paintu do grafického režimu s 400/480 obrazovými řádky.

Jednalo se zejména o následující nové technologie, popř. software (odkazy vedou na příslušné kapitoly s podrobnějším popisem):

Rok Technologie Stručný popis
1984 IBM PC/AT s mikroprocesorem 80286 umožnění přístupu do rozšířené paměti nad 640kB, chráněný režim
1986 Compaq DeskPro 386 IBM zpočátku nevěřila v úspěch 386, takže první PC vznikly u konkurence
1986 Phar Lap extender ovladač rozšířené paměti, který dokázal využít více než 640kB i v DOSu
1987 MCGA pro IBM PS/2 první grafická karta pro PC s režimem 320×200×256 barev
1987 VGA v dalších letech de-facto standard, umožnil vznik Animatoru, současně nové rozhraní k monitoru
     
1984 Aegis Animator jeden z prvních animačních programů Jima Kenta, nepřímý předchůdce Animatoru
1985 Cyber Paint program pro Atari ST, přímý předchůdce Animatoru
1985 Atari ST, Amiga vznik platforem, které až neskutečně rychlým způsobem rozšířily multimediální možnosti
1988 formát IFF pro Amigu částečně ovlivnilo vývoj formátů FLI/FLC
Poznámka: počítač Compaq DeskPro 386 byl přelomový v tom, že uživatelům ukázal, že výrobci klonů PC nejsou pouhými kopírovači, ale dokážou vyrobit počítače výkonnější, popř. levnější a vybavenější, než přímo IBM. Možná právě v tomto okamžiku můžeme vidět zlom v celém ekosystému okolo PC (i když klony pochopitelně existovaly i dříve).
x

Obrázek 11: Editace barvové palety v Deluxe Paintu. Tuto funkcionalitu bylo možné na platformě PC zajistit až u karty EGA (s velkými omezeními) a VGA.

Poznámka2: samotná grafická karta MCGA neměla přímý vliv na vznik Autodesk Animatoru, protože byla používána pouze ve slabších (nejméně výkonných) modelech řady IBM PS/2 s mikroprocesorem 8086. Ovšem její existence je velmi důležitá, protože právě kvůli tomuto grafickému adaptéru byl v kartě VGA použit známý grafický režim 13h. Ten v jiných ohledech vlastně vůbec nezapadá do celkové koncepce VGA (resp. i předchozí EGA), ale kvůli snaze o kompatibilitu byl vytvořen a standardizován. Tím pádem umožnil vznik Animatoru, zejména jeho jednoduše použitelného souborového formátu FLI/FLC. V opačném případě bychom se totiž mohli dočkat „šíleností“ ve stylu formátu určeného primárně pro Mode-X atd.
x

Obrázek 12: About dialog Deluxe Paintu IV.

3. Grafický adaptér MCGA

Grafický adaptér MCGA, neboli celým názvem MultiColor Graphics Array, navrhla firma IBM pro svoji známou řadu počítačů PS/2, konkrétně pro modely PS/2 25 a PS/2 30 (jedná se o nejnižší model z celé řady PS/2, jak již bylo ostatně naznačeno v předchozí kapitole). V podstatě se jedná o značně zjednodušenou (a z tohoto důvodu i levnou) variantu grafické karty VGA, která bude popsána v dalším textu. V původním návrhu firmy IBM byl adaptér MCGA integrován přímo na základní desce, což je podstatný rozdíl oproti dříve používaným grafickým kartám MDA, CGA, EGAHercules, u nichž byla striktně dodržena základní idea počítačů IBM PC – velká variabilita spočívající v umístění většiny modulů počítače na přídavné karty a nikoli přímo na základní desku (původně nebyly na základní desce dokonce osazeny ani obvody pro paralelní či sériové porty, které bývaly součástí jiných karet, včetně některých karet grafických – viz například grafická karta Hercules či zvuková karta AdLib).

pc86

Obrázek 13: Český textový editor T602 spuštěný v dvoubarevném grafickém režimu s rozlišením 640×480. V obrazové paměti se pro tento režim muselo alokovat celkem 640×480/8=38400 bajtů. Jednalo se o jediný režim s vysokým rozlišením, který nově nabídla karta MCGA oproti dřívějším režimům.

Firma IBM se snažila, aby grafický adaptér MCGA nahradil v té době již zcela nevyhovující a zastaralou grafickou kartu CGA. Z tohoto důvodu je MCGA s touto kartou slučitelná, ovšem s tím rozdílem, že není možné použít původní typy monitorů, protože je zde použit nový typ rozhraní s analogovými barvonosnými signály. MCGA však není zpětně kompatibilní s grafickou kartou EGA, na rozdíl od karty VGA, kde je zpětná kompatibilita s předchozí řadou grafických karet firmy IBM vyřešena mnohem lepším způsobem (až na úroveň řídicích registrů), ovšem na úkor zvýšené složitosti při nastavování textových či grafických režimů, což bylo částečně odstíněno službami BIOSu. Kapacita obrazové paměti byla v případě grafického adaptéru MCGA rovna 64 kB, což je obecně méně, než u grafické karty EGA, která mohla být osazena až 256 kB video paměti či karty VGA osazené vždy 256 kB. Z poměrně malé kapacity obrazové paměti pak vyplývají i omezené možnosti grafických režimů popsané v dalším textu, ale současně i již zmiňovaná nízká cena.

pc86

Obrázek 14: Úvodní obrazovka populární hry Tank Wars, která využívala grafický režim adaptéru MCGA s rozlišením 320×200 pixelů s možností zobrazení 256 barev (současně se jedná o standardní režim 13h).

4. Textové a grafické režimy MCGA

Grafický adaptér MCGA podporoval několik nových grafických režimů, které bylo možné nastavit i pomocí služeb BIOSu (přesněji řečeno – tyto režimy jsou stále součástí BIOSu, takže jsou alespoň teoreticky dostupné i v současnosti). V textových režimech byly znaky ve znakové sadě definovány pomocí masky o velikosti 8×16 pixelů (režim s 25 textovými řádky), resp. 8 8 pixelů (režim s padesáti textovými řádky), což znamená, že se oproti dále popisované grafické kartě VGA (ale i vůči MDA či Herculesu) snížilo horizontální rozlišení ze 720 pixelů na 640 pixelů, takže čitelnost textu byla o poznání horší. Způsob uspořádání video paměti v textových režimech je kompatibilní se všemi předchozími kartami: každý znak je reprezentován dvojicí bajtů, přičemž do prvního bajtu se ukládal kód znaku (rozšířená sada ASCII) a do bajtu druhého barva popředí, barva pozadí a popř. i další atributy, například příznak podtržení či blikání (v závislosti na konfiguraci textového režimu).

pc86

Obrázek 15: Prostředí hry Tank Wars běžící v režimu 13h.

Kromě textových režimů byly u tohoto grafického adaptéru zavedeny dva nové rastrové grafické režimy. V prvním režimu bylo možné zobrazit rastrový obraz o rozlišení 640×480 pixelů, ale pouze ve dvou barvách, tj. s využitím jediné bitové roviny. Více bitových rovin nebylo možné v tomto režimu použít z důvodu malé kapacity obrazové paměti, protože pro dvoubarevný rastrový obraz v rozlišení 640×480 pixelů je zapotřebí alokovat 640×480/8=38400 bajtů z dostupných 65536 bajtů. Ve druhém grafickém režimu se zobrazoval rastr o rozlišení 320×200 pixelů v×256 barvách, přičemž obrazová paměť byla využita téměř stoprocentně: 320×200=64000 bajtů z 65536. Tento grafický režim se stal velmi populární, zejména však ve spojitosti s grafickou kartou VGA, kde nabízel mnohem více možností (například scrolling obrazu v libovolném směru, režim rozdělené obrazovky, double či triple buffering atd.). A právě tímto režimem (ve své standardní podobě) se budeme zabývat v dalším textu v souvislosti s Animatorem.

pc86

Obrázek 16: Hra Tank Wars potřetí – zásah protivníka.

5. Rozhraní pro připojení monitoru k adaptéru MCGA

Časování synchronizačních signálů v obou výše zmíněných grafických režimech je stejné, jako v případě dále popsané grafické karty VGA. V režimu s rozlišením 640×480 pixelů je snímková frekvence nastavena na 60 Hz, v režimu s rozlišením 320×200 pixelů na 70 Hz. Shodné bylo i rozhraní pro připojení monitoru ke grafickému adaptéru. Poprvé se zde objevuje konektor typu DE-15, který je po nepatrných modifikacích funkce některých pinů (rozšíření o DDC a DDC-2) používán i dnes – viz VGA pinout. Díky tomu, že barvonosné signály (R, G, B) jsou analogové, není maximální počet barev omezen na šestnáct barev tak, jak je tomu u monitorů pro grafickou kartu EGA, u níž se každá barvová složka přenášela pomocí dvojice binárních (TTL) signálů. Pro každou složku tedy bylo možné nastavit pouze čtyři intenzity: nulovou, třetinovou, dvoutřetinovou a maximální.

pc86

Obrázek 17: Mnohé hry pro IBM PC, například zde zobrazený dungeon Lands of Lore, využívaly standardní grafický režim s rozlišením 320×200 pixelů, jenž je využíván i Autodesk Animatorem.

V případě grafických adaptérů MCGAVGA je však intenzita každé barvové složky reprezentována šesticí bitů, tj. je nutné rozlišit 64 úrovní každé základní barvy (celkový počet barevných odstínů je tedy 643=262144). Právě z tohoto důvodu se informace o barvách pixelů přenáší pomocí analogových signálů, u nichž je počet úrovní omezen především šumem digitálně-analogového převodníku na straně grafické karty a (analogových) obvodů v monitoru (plně digitální přenos by sice byl možný, například s využitím vhodného sériového protokolu, nicméně v dobách monitorů s CRT by to znamenalo značně zvýšenou složitost monitorů, nehledě na nutnost použití velkého přenosového pásma). Rozšíření počtu úrovní barvových složek je v tomto případě jednoduché, což se ukázalo při přechodu na modernější a výkonnější grafické karty s větší kapacitou obrazové paměti, které umožňovaly rozlišení 256 úrovní každé barvové složky a tím pádem i možnost zobrazení 2563=16777216 barevných odstínů.

pc86

Obrázek 18: První i druhý díl známé plošinovky Prince of Persia taktéž využívaly grafický režim s rozlišením 320×200 pixelů.

Poznámka: tato kapitola nemá zdánlivě mnoho společného s programem Autodesk Animator, ovšem ve skutečnosti se v AA využívají jak možnosti barvové palety (přemapování barev a podpora pro animaci změnou barvové palety), tak i snímková frekvence grafického režimu s rozlišením 320×200 pixelů – 70Hz. Interval mezi snímky se totiž specifikuje právě v násobcích 70Hz a nikoli v počtu snímků za sekundu. Souvisí to se způsobem naprogramování vykreslovací rutiny vytvořené pochopitelně Jimem Kentem, která byla následně nesčetněkrát reimplementována.

6. Grafická karta VGA

Dalším – a to dosti podstatným – technologickým rozšířením grafických karet CGA a EGA vznikla grafická karta VGA, jejíž název je odvozen ze sousloví Video Graphics Array. Slovo array v tomto kontextu značí, že celá karta byla vytvořena na jednom čipu, samozřejmě kromě nezbytných krystalů a paměťových modulů tvořících obrazovou paměť. Tato grafická karta byla poprvé použita firmou IBM v počítačích řady IBM PS/2 (kromě dvou nejnižších modelů, ve kterých byl nainstalován výše popsaný méně výkonný grafický adaptér MCGA). V těchto typech počítačů však ještě VGA nebyla realizována jako samostatná grafická karta, ale jednalo se o čipy a pomocné součástky umístěné přímo na základní desce. Teprve později byla VGA nabízena i jako samostatná karta určená pro šestnáctibitovou sběrnici ISA – právě tuto variantu karty VGA (vyráběnou v mnoha obměnách i dalšími firmami, nejenom samotnou IBM) zná většina uživatelů osobních počítačů.

pc86

Obrázek 19: Hra F29 Retaliator firmy Ocean kupodivu využívala šestnáctibarevný grafický režim s rozlišením 320×200 pixelů, který byl kompatibilní i s kartou EGA.

Grafická karta VGA je do značné míry, tj. až na úroveň řídicích registrů, zpětně kompatibilní s již zmíněnými grafickými kartami CGA, EGA a MCGA (nikoli však s Herculesem), avšak s tím pochopitelným rozdílem, že není možné použít původní monitory, protože se změnily frekvence synchronizačních signálů i samotné rozhraní pro připojení monitorů. Velikost obrazové paměti je rovna 256 kB, protože v nejvyšším oficiálně podporovaném grafickém režimu se pro framebuffer (obrazovou paměť) alokuje místo o kapacitě 150 kB – viz další text. Vzhledem k omezením daným BIOSem a DOSem (samotné mikroprocesory již dokázaly v době nástupu karty VGA adresovat v chráněném režimu minimálně šestnáctimegabajtový paměťový prostor; stejný adresní rozsah nabízela i sběrnice ISA) se však nedá přímo adresovat celá obrazová paměť, viditelné je vždy jedno či dvě „okna“, každé o velikosti 64 kB, přičemž žádný z oficiálně podporovaných grafických režimů nevyužívá současně obě okna.

pc86

Obrázek 20: Další z šestnáctibarevných snímků hry F29 Retaliator. Dojem, že je využito více barev, je způsoben použitím ditheringu.

Jedním z důvodů pro toto chování je i to, že v počítači může být kromě grafické karty VGA současně nainstalována například i karta MDA či Hercules, která s kartou VGA jedno paměťové okno musí sdílet (opět se jedná o důvody dané omezením BIOSu a DOSu, protože pro mapování obrazové paměti do adresního prostoru procesoru byly vyhrazeny pouze dva segmenty začínající na adresách 0×a000:0000 a 0×b000:0000). Prakticky všechny grafické karty, které jsou dnes vyráběné, jsou s grafickou kartou VGA zpětně kompatibilní; její grafické režimy jsou použity například při inicializaci některých graficky orientovaných operačních systémů. Ostatně většina moderních PCček má při startu BIOSu nastaven jeden z grafických režimů karty VGA, typicky se jedná o šestnáctibarevný režim s rozlišením 640×400 pixelů, popř. 720×400 pixelů.

pc86

Obrázek 21: Při vykreslování palubní desky F29 je opět použit dithering umožňující využití šestnáctibarevného režimu.

7. Standardní grafické režimy karty VGA

V předchozím textu jsme si řekli, že grafická karta VGA je zpětně kompatibilní s kartami MDA, CGAEGA. Týká se to samozřejmě i grafických režimů, což znamená, že řídicí registry karty VGA umožňovaly takové nastavení, které vedlo k emulaci všech grafických režimů nabízených kartami CGAEGA, samozřejmě včetně struktury video paměti (režim sudá/lichá u karty CGA, bitové roviny karty EGA, 64barevná paleta této karty atd.). Navíc je možné pomocí služeb VGA BIOSu nastavit dva nové standardní grafické režimy. První z těchto režimů nabízí rozlišení 640×480 pixelů při možnosti zobrazení maximálně šestnácti barev. Ve své podstatě se jedná o rozšíření grafického režimu karty EGA s rozlišením 640×350 pixelů, protože „pouze“ došlo ke zvýšení vertikálního rozlišení, které je umožněno vyššími frekvencemi krystalů, které generují jak oba synchronizační signály (horizontální i vertikální), tak i hodinový signál použitý při přístupu do obrazové paměti (pixel clock), který je v případě tohoto režimu roven 25,175 MHz.

pc86

Obrázek 22: Hra Scorched Earth (ve své podstatě vylepšená varianta výše zmíněné hry Tank Wars) mohla být spuštěna jak ve standardním grafickém režimu s rozlišením 320×200 pixelů, tak i v některém z rozšířených režimů (X-mód, Y-mód atd.), zde například v režimu naprogramovaném pomocí řídicích registrů karty VGA na rozlišení 360×480 pixelů.

Podobně jako u karty EGA, i v grafickém režimu 640×480×16 je obrazová paměť rozdělena do čtyř bitových rovin mapovaných z hlediska mikroprocesoru do segmentu 0×a000:00000×a000:ffff. Čtení či zápis dat do bitových rovin není prováděn přímo, protože mezi mikroprocesor a obrazovou paměť jsou vloženy takzvané záchytné registry (latch) řízené pomocí několika konfiguračních registrů. Existuje několik navzájem odlišných režimů práce těchto registrů, z nichž pravděpodobně nejpoužívanějším režimem je čtení či zápis dat vždy pouze do jedné bitové roviny. Při zápisu je však možné data současně zapisovat do libovolné kombinace bitových rovin, takže například vymazání obrazovky lze v praxi provést pouze zápisem 640×480/8=38400 bajtů (zápis do všech čtyř bitových rovin současně) namísto skutečně přemazaných 640×480/2=153600 bajtů. Tento grafický režim má ještě jedno prvenství – jedná se o první grafický režim počítačů IBM PC, jehož pixely měly čtvercový tvar, což umožnilo zjednodušit některé algoritmy.

pc86

Obrázek 23: Známý dungeon Ishar využívající grafický režim s rozlišením 320×200 pixelů a 256 barev.

8. Režim 13h – základ pro Autodesk Animator

Druhý standardní grafický režim, známý též pod jménem „mód 13h“ nabízel programátorům i uživatelům rozlišení 320×200 pixelů, ovšem počet současně zobrazitelných barev byl roven 256 z celkového počtu 218=262144 barevných odstínů. Tento režim vznikl zřetězením všech bitových rovin tak, že barva prvního pixelu (osm bitů) je zapsána do první bitové roviny (první bajt), barva druhého pixelu do druhé roviny (druhý bajt), třetí pixel (překvapivě) do třetí bitové roviny, čtvrtý pixel do poslední bitové roviny, barva pátého pixelu opět do první roviny (pátý bajt) atd. – viz též obrázek číslo 24, na kterém je naznačena jak kombinace bitových rovin, tak i metoda zobrazení pixelů na obrazovce. Při zřetězení bitových rovin je sice celých 75% obrazové paměti nevyužito, protože v každé bitové rovině je adresovatelný vždy každý čtvrtý bajt, ale z hlediska procesoru se celá obrazová paměť jeví jako pole 320×200=64000 bajtů, přičemž každý bajt představuje index barvy jednoho pixelu – v reálném režimu procesoru 80×86 si snad nelze představit jednodušší strukturu obrazové paměti :-), takže není divu, že se tento grafický režim stal velmi populární.

pc86

Obrázek 24: Struktura obrazové paměti v grafickém režimu 13h.

Právě tento grafický režim je použit v Autodesk Animatoru:

Obrázek 25: Autodesk Animator používá grafický režim 13h, mj. i kvůli velmi rychlému přístupu do grafické paměti.

9. Aegis Animator

Již ve druhé kapitole jsme si řekli, že Autodesk Animator byl naprogramován Jimem Kentem. Tento autor je sice dnes poněkud méně známý, než jiní pionýři počítačové grafiky (Bresenham, Bézier, Suterhand, Blinn atd.), ovšem právě Jim Kent stojí za vývojem animačních programů určených i pro levné osobní mikropočítače, ať již Atari ST a Amigu, či právě pro platformu PC. I díky němu tyto platformy postupně nahradily výkonné, ale taktéž patřičně drahé pracovní stanice, protože se ukázalo, že i běžné osobní počítače mohou být pro tyto aplikace vhodným (i když nikoli nejvýkonnějším řešením). Jim Kent vytvořil množství animačních aplikací, přičemž používal assembler, jazyk C a dokonce i BASIC.

Obrázek 26: Posuvné menu Aegis Animatoru. Podobný koncept se později objevil právě v Autodesk Animatoru.

Jedním z těchto programů byl i Aegis Animator vyvinutý pro osobní mikropočítače Atari ST. Hardwarové požadavky byly skromné (alespoň z dnešního pohledu) – postačovalo standardní Atari 520ST s 512 kB operační paměti, ovšem pro větší animace bylo doporučováno použít celý jeden megabajt. V Aegis Animatoru se používalo grafické uživatelské rozhraní, které do značné míry připomíná Autodesk Animator, což pochopitelně není náhoda. Příkladem mohou být panely s ovládacími prvky, které lze v rámci plochy obrazovky posunout na libovolné místo atd.

Obrázek 27: Úvodní obrazovka novější verze Aegis Animatoru.

10. Cyber Paint

Dalším programem od stejného autora je Cyber Paint, který taktéž vyšel v roce 1987 pro osobní mikropočítače postavené na bázi mikroprocesoru Motorola 68000. Cyber Paint byl součástí většího množství aplikací, které mezi sebou mohly přenášet data (což ostatně platilo i pro pozdější duo Animator + 3D Studio).

Obrázek 28: Grafické uživatelské rozhraní Cyber Paintu se nápadně podobá Autodesk Animatoru, a to včetně rozložení jednotlivých ovládacích prvků.

K Cyber Paintu jakožto k poloprofesionálnímu programu byla vydána i příručka, která je nyní dostupná online na adrese http://www.atarimania.com/st/fi­les/cyber_paint1_0_antic.pdf.

Obrázek 29: Úvodní dialog Cyber Paintu.

11. Tweening

Jim Kent ve svých animačních programech experimentoval s animační technikou zvanou tweening. Jedná se o označení, které odkazuje na profesi tweenera, tedy člověka, který ručně kreslil přechody mezi klíčovými snímky vytvořené animátorem. A prakticky stejný způsob nalezneme například již v Aegis Animatoru – explicitně je nutné vytvořit pouze klíčové snímky, přičemž mezisnímky automaticky dopočítá software. Příkladem může být změna pozice nějakého spritu, změna tvaru mnohoúhelníku, vyplňování barvou, aplikace jednoduchého filtru atd. Mezisnímek vypočtený Animatorem obsahoval rozdíly mezi dvojicí snímků, přičemž tyto rozdíly byly zobrazeny první barvou palety, což je většinou (alespoň v dobovém animačním software) barva modrá. Tyto rozdíly, popř. i další pomocné prvky (guides), bylo možné smazat jediným příkazem (clear guides) a vytvořit tak z pomocného mezisnímku skutečnou součást výsledné animace.

Obrázek 30: Animace vytvořená v Cyber Paintu přímo Jimem Kentem.

12. Metamorphic animation

Dalším typem animace, který Jim Kent implementoval ve svých animačních programech, jsou takzvané metamorfické animace. Pod tímto dosti honosným názvem se skrývá poměrně jednoduchá operace aplikovaná na polygomy (mnohoúhelníky). Postačuje specifikovat pozici vrcholů mnohoúhelníku v prvním klíčovém snímku a pozice ve druhém klíčovém snímku. Všechny mezisnímky (a může jich být prakticky libovolné množství) jsou dopočítány automaticky lineárním posunem, popř. posunem nelineárním (rozjetí a zastavení může být plynulé). Tento typ animace lze aplikovat na mnohoúhelníky s okrajem (nevyplněné) i mnohoúhelníky vyplněné. Tuto techniku pochopitelně nalezneme i v Autodesk Animatoru.

Obrázek 31: Metamorfické animace v Autodesk Animatoru.

13. Další animační techniky

Mezi další podporované animační techniky patří postupná změna barvové palety. Tato technika, která je známá i z některých grafických editorů pro počítače Amiga a Atari ST, se objevila i v obou Animatorech a je tudíž podporována i v souborových formátech FLI a FLC. Princip je jednoduchý – některé animace lze dosáhnout nikoli změnou hodnot jednotlivých pixelů, ale pouze úpravou barvové palety, která může být v případě grafické karty VGA vybrána ze škály 218 odstínů.

Obrázek 32: Animace palety v Autodesk Animatoru.

14. Autodesk Animator se představuje

Nyní se konečně dostáváme k produktu Autodesk Animator. První verze této aplikace začala být prodávána v roce 1989 a její systémové nároky byly z dnešního pohledu až směšně malé:

  • Počítač s mikroprocesorem 80286 nebo 80386
  • Jeden megabajt operační paměti
  • Grafická karta MCGA (čistě teoreticky) nebo VGA, protože je použit grafický režim 13h
  • Animator je možné spustit i z diskety, ovšem doporučoval se (pochopitelně) pevný disk o kapacitě 40 MB (ne GB :-)
  • Myš (čistě teoreticky lze program ovládat i z klávesnice, ale v praxi by se pochopitelně jednalo o příliš velký masochismus)

Samotný Autodesk Animator se vlezl na jedinou disketu s dvojitou hustotou:

Obrázek 33: Nároky na volné místo na disku či disketě byly minimální. Mimochodem – samotný Autodesk Animator je představován jediným spustitelným souborem o velikosti nepřesahující 120kB.

Kapacita operační paměti pochopitelně nemusela být dostačující pro uložení celé animace. Program z tohoto důvodu umožňoval ukládání sekvence snímků na pevný disk s možností přehrávání přímo z pevného disku, ale i editace animace meziuložené na pevný disk.

Mezi další omezení patřila možnost práce s maximálně 4000 snímky v jediné animaci, i když formát FLI teoreticky podporoval až 65535 snímků.

Obrázek 34: Informace o autorovi Autodesk Animatoru.

15. Grafické uživatelské rozhraní Autodesk Animatoru

Pokud se podíváte na screenshoty Aegis Animatoru, Cyber Paintu a Autodesk Animatoru, zjistíte, že se jednalo o podobně vyhlížející programy se specifickým konceptem menu a panelů s nástroji. Primárně se pro ovládání používala myš, ovšem mnoho operací bylo možné ovládat i z klávesnice, což je pochopitelně při dlouhodobější práci výhodnější a rychlejší. Nástrojový panel bylo možné posunovat kamkoli v rámci obrazovky, takže se například nestávalo, že by se při editaci titulků (což je speciální animační technika) tato část obrazu schovala právě pod ovládací prvky. Některé důležité prvky jsou zobrazeny na screenshotech:

Obrázek 35: Základní ovládací panel zobrazující kreslicí nástroje, barvovou paletu, filtry i řízení animací. Vpravo dole jsou čtyři tlačítka pro řízení typu snímku, klíčování atd.

Obrázek 36: Výběr souboru s animací s náhledovým obrázkem.

Obrázek 37: Zobrazení základních informací o animaci.

Obrázek 38: Autodesk Animator pracuje s celkem dvanácti souborovými formáty – animací, fonty, jednotlivými obrázky (výstřižky), filtry, makry atd.

Obrázek 39: Dialog pro načtení bitmapového fontu.

Obrázek 40: Velmi užitečná vlastnost – výběr kreslicích nástrojů pro zobrazení na hlavním panelu. Ideální řešení v situaci, kdy je plocha obrazovky malá a i rozlišení je nízké.

Obrázek 41: Načtení animace.

Obrázek 42: Nástrojový panel, který umožňoval některé 3D transformace (dobrým příkladem je toto známé intro).

16. Titulky

Kromě výše zmíněných animačních technik – tweeningu a metamorfické animace podporoval Autodesk Animator i tvorbu titulků, které mohly různým způsobem scrollovat libovolným směrem, objevovat se v sekvenci snímků atd. Jedná se vlastně o samostatnou „podaplikaci“ s jednoduchým ovládáním – titulek (i delší text) se napsal do zvoleného obdélníku, zvolil se typ animace, jak rychle má animace titulků probíhat (pomalý rozjezd či dojezd atd.) a následně se již titulky staly součástí jednotlivých snímků.

Obrázek 43: Nástrojový panel pro specifikaci animace titulků.

Obrázek 44: Můžeme si to vyzkoušet v praxi (DosBox).

Obrázek 45: Delší výpočty je možné přerušit.

17. Makra

To ovšem není zdaleka vše, protože podporován byl i záznam maker. Zjednodušeně řečeno si Autodesk Animator mohl zapamatovat sekvenci operací, kterou mohl následně zopakovat. Vzhledem k tomu, že jednou z operací je i vytvoření nového snímku, přechod na tento snímek, namalování nějakého tvaru, načtení obrázku ze souboru (pamatuje se pozice v dialogovém boxu), se jednalo o velmi silný nástroj.

Obrázek 46: Menu pro záznam a přehrání makra.

Do dalších verzí Animatoru byla předána podpora pro skriptování, přičemž skripty vypadaly prakticky stejně, jako céčkové programy, což není náhoda:

main()
{
int xbegin,ybegin;
int x,y,lft,right,key;
int direc=1;
char ibuf[16];
int cbuf;
Screen *oldscr,*picscr;
int ecode,rad;
int False=0,adjust,exitkey=0;
int newang=5;
double ang=5,mang,abegin;
 
oldscr = GetUndoScreen();
picscr = GetPicScreen();
 
if (!CelExists()) goto finish;
CelWhere(&xbegin,&ybegin,&abegin);
SetFilled(1);
GetInk(ibuf);
cbuf = GetColor();
 
SetInk("Opaque");
key = 0;
 
SetAbort(False);
while (exitkey == 0)
    {
contdrag:
    WaitInput(&x,&y,&lft,&right,&key);
    if (right == 2) {       /* right press indicated by right = 2 */
                mang = ang * 5.625 * direc;
                 /* see documentation on bug  requiring the 5.625 multiplier */
                CelTurn(mang);
                CopyScreen(oldscr,picscr);
                CelPaste();
                }
    if (lft ==1)      {     /* drag indicated by lft=1 */
                CopyScreen(oldscr,picscr);
                CelMoveTo(x,y);
                CelPaste();
                }
 
    switch (key)
        {
        case 3117 : /* <-> Key entered */
               direc = -direc;
               break;
&nbsp;
        case 561 :  ang = 1; /* <1> key entered */
               break;
&nbsp;
        case 818:  ang = 5; /* <5> key entered */
               break;
&nbsp;
        case 2864: /* 0 entered to ask for adjustment dialogue box*/
                adjust = Qnumber(&newang,1,180,"Enter the degrees of rotation");
               if (adjust) ang = newang;
               break;
&nbsp;
        case 283: /* ESC cancel all changes */
               CopyScreen(oldscr,picscr);
               CelMoveTo(xbegin,ybegin);
               CelTurnTo(abegin);
               exitkey = 1;
               break;
&nbsp;
        case 14624: /* Space No paste but leave changes to cel position */
               CopyScreen(oldscr,picscr);
               exitkey = 1;
               break;
&nbsp;
        case 7181: /* Return complete paste and exit */
               exitkey = 1;
               break;
&nbsp;
        }
    }
&nbsp;
finish:
SetInk(ibuf);
SetColor(cbuf);
}

18. Autodesk Animator Pro

V roce 1991 byla vydána nová verze Autodesk Animatoru s plným názvem Autodesk Animator Pro. Jednou z nejviditelnějších vlastností byla podpora pro grafické režimy karet SVGA, se všemi z toho plynoucími důsledky (prakticky nemožnost vytvoření plynulé animace na 80386 atd.). „Pro“ v názvu taktéž znamenalo citelné zvýšení ceny na 800 dolarů, protože se počítalo s tím, že tuto verzi použijí profesionálové, například společně s tehdy vznikajícím 3D studiem. Aby bylo možné uložit animace s vyšším rozlišením, byl původní souborový formát FLI nepatrně upraven a vznikl nový formát FLC. Další změny se týkaly především ergonomie ovládání GUI – Autodesk Animator Pro byl/je z ergonomického hlediska považován za velmi vydařený produkt, zejména v porovnání s Animator Studiem popsaným v následující kapitole.

Obrázek 47: Aplikace nějaké animační techniky prakticky vždy vede k tomuto nástrojovému panelu.

Obrázek 48: Specifikace, že začátek i konec má začít plynule – nelineárně.

19. Animator Studio

O tři roky později, tedy v roce 1995 vznikl program nazvaný Animator Studio určený pro tehdejší novinku – Windows 95. Jednou z vlastností tohoto nového programu byla podpora souborů AVI, které se ve světě Windows staly de facto standardem v oblasti animací i videa. Ovšem Animator Studio nebylo tak populární, jako původní Animatory, a to i z toho důvodu, že ovládání Studia bylo komplikovanější a taktéž se na trhu objevily konkurenční produkty nabízející pokročilejší funkce.

Obrázek 49: Kreslení splines.

Obrázek 50: Slavné české video Top Gun má neuvěřitelných 962 snímků.

20. Odkazy na Internetu

  1. Support/peripheral/other chips – 6800 family
    http://www.cpu-world.com/Support/6800.html
  2. Motorola 6845
    http://en.wikipedia.org/wi­ki/Motorola_6845
  3. The 6845 Cathode Ray Tube Controller (CRTC)
    http://www.tinyvga.com/6845
  4. IBM Monochrome Display Adapter
    http://en.wikipedia.org/wi­ki/Monochrome_Display_Adap­ter
  5. Color Graphics Adapter
    http://en.wikipedia.org/wi­ki/Color_Graphics_Adapter
  6. Wikipedia CZ: Sběrnice:
    http://cs.wikipedia.org/wi­ki/Sb%C4%9Brnice
  7. Wikipedia EN: Industry Standard Architecture:
    http://en.wikipedia.org/wi­ki/Industry_Standard_Archi­tecture
  8. Enhanced Graphics Adapter
    http://en.wikipedia.org/wi­ki/Enhanced_Graphics_Adap­ter
  9. IBM Multicolor Graphics Adapter
    http://en.wikipedia.org/wiki/MCGA
  10. Deluxe Paint
    https://en.wikipedia.org/wi­ki/Deluxe_Paint
  11. MacPaint
    https://en.wikipedia.org/wi­ki/MacPaint
  12. NEOchrome
    https://en.wikipedia.org/wi­ki/NEOchrome
  13. Autodesk Animator
    https://en.wikipedia.org/wi­ki/Autodesk_Animator
  14. LightningPaint 1.1
    https://www.macintoshrepo­sitory.org/1803-lightningpaint-1–1
  15. DOS extender
    https://en.wikipedia.org/wi­ki/DOS_extender
  16. The Flic File Format
    https://www.drdobbs.com/windows/the-flic-file-format/184408954
  17. Aseprite FLIC Library
    https://github.com/aseprite/flic
  18. FLIC (file format)
    https://en.wikipedia.org/wi­ki/FLIC_(file_format)
  19. The FLIC file format
    https://www.compuphase.com/flic.htm
  20. FLIC routines
    https://www.allegro.cc/ma­nual/4/api/flic-routines/
  21. Cyber Paint
    https://doudoroff.com/ata­ri/cyberpaint.html
  22. Jim Kent
    https://en.wikipedia.org/wi­ki/Jim_Kent
  23. AEGIS ANIMATOR ST: AND ART PAK ST: Design your own computerized cartoons
    https://www.atarimagazines­.com/v6n2/AEGIS.html
  24. The First Pioneer in PC Animation: Autodesk Animator
    https://drmussey.wordpres­s.com/2010/11/08/the-first-pioneer-in-pc-animation-autodesk-animator/
  25. Přepisovaný Animator Pro na GitHubu
    https://github.com/Animator­Pro/Animator-Pro
  26. Tesla – Cyber Paint Demo Animation
    https://www.randelshofer.ch/a­nimations/anims_atari/jim_ken­t/Tesla.anim.html

Autor článku

Pavel Tišnovský vystudoval VUT FIT a v současné době pracuje ve společnosti Red Hat, kde vyvíjí nástroje pro OpenShift.io.