• Nem Talált Eredményt

Animációs szoftverek

In document 1.1. A számítógépes graka célja (Pldal 162-170)

A SZÁMÍTÓGÉPES GRAFIKA ALAPJAI

2.7. A fraktálok világa

2.8.8. Animációs szoftverek

A felhasználói szoftverekhez hasonlóan a grakus, animációra is képes szoftverek is igen szép számban jelentek meg a piacon az id®k során. A teljesség igénye nélkül kiragadunk egy pár kiemelked®bb megoldást.

1985-t®l kezd®d®en fejlesztette ki a Pixar a saját számítógépes 3D graka és animációs szoftverét, a RenderMant. A szoftver nemcsak rajzlmek gyártását teszi lehet®vé, hanem bármilyen vizuális effektus elkészítését lmekben is. Az utóbbi 15 évben a vizuális effektusokért járó Oscar-díjra benevezett 50 lm közül 47-et készítettek RenderMannel.

Otthoni számítógépekre az akkori DOS-os rendszerekre készült el 1988-ban a Cartooners, 1989-ben pedig az Autodesk Animator. Mindkett®ben jeleneteket, háttereket, karaktereket lehetett deniálni és mozgásokat rendelni a gurákhoz.

Az Autodesk fejlesztette ki a 3D Studio Maxot is. A 3D Studio Max (melyet néha 3DS Maxnek hívnak) egy 3 dimenziós modellez® és animációs program, talán a legelterjedtebbek egyike.

Jól használható szoftver a 3D Animation Lab is.

Kétségtelen viszont, hogy az egyik legjobb a Maya. A Maya egy fels®kate-góriás 3D-s grakai szoftvercsomag az Aliastól (jelenleg az Autodesk Media &

Entertainment tulajdonában van), amelyet f®ként a lmes és televíziós iparban használnak, valamint számítógépes és videojátékok készítésénél. Az Autodesk 2005 októberében tett szert az Alias PowerAnimatorból kifejl®dött programra, megvásárolva az Alias Systems Corporationt. Két f® változatban kapható, az

2.57. ábra. Animációs sablonok A dzsungel könyve (1967) és a Micimackó (1977) rajzlmekben

egyik a Maya Complete (amely a kisebb csomag), a másik pedig a Maya Unli-mited. A Maya Personal Learning Edition (PLE) egy otthoni használatra szánt tanulóverzió, amely ingyenesen elérhet® (cserében a Maya PLE-vel renderelt képekben egy vízjel van).

A Maya elérhet® Windows, Linux, IRIX és Mac OS X operációs rendszerek alá.

2.8.9. Állományformátumok

Az animációkat többféleképpen rögzíthetjük. Leggyakoribb állományfor-mátumok a FLI, FLC, MPEG, WMV, MOV és AVI.

A legegyszer¶bb állományformátum az animált GIF. Az állóképek (GIF87) tárolása mellett a GIF alkalmas képek animálására (GIF89a) is. Weblapokon sokszor találkozhatunk ilyennel. Lényege, hogy megadott id®pontokban válta-koznak a különböz® képek, így egy animációt hozva létre. Hátránya, hogy nincs hangja.

Általában mindegyik formátum valamilyen módon tömörített, hiszen hosszabb lmek tárolása ily módon a leggazdaságosabb.

2.58. ábra. Animációs sablonok a Sword in the stone (1963) és A dzsungel könyve (1967) rajzlmekben

A FLI és FLC oly módon tömörít, hogy csak azokat a képrészeket tárol-ja, amelyek különböznek az ®ket megel®z® képkocka ugyanazon helyén lév®

adattól.

Az MPEG mágikusan úgy hangzik, mint a JPEG. Nem is csalódhatunk, mert hasonló, némi min®ségvesztéssel járó tömörítést valósítanak meg. A min®ség-romlás mértéke szabályozható a végtermék fájlhosszának a rovására. A gyorsan változó képkockákból álló animáción viszont fel sem t¶nik a min®ségveszt®

tömörít® algoritmus keze nyoma.

A MOV állományformátumot az Apple alkalmazza.

Az AVI (Audio Video Interleave audio-video-összefésülés) egy olyan állományformátum, amelyet mind a hang-, mind pedig a videoadatok egy meg-határozott csomagban való tárolására és ezen adatok lejátszására hoztak létre. A Microsoft 1992 novemberében mutatta be ezt a formátumot a Windows techno-lógia videó részeként.

GRAFIKA DOS ALATT

A DOS operációs rendszer a személyi számítógépek szöveges üzemmódú parancssoros operációs rendszere.

Grakus alkalmazásokat is lehetett DOS alatt készíteni, ha a számítógépben videokártya ezt megengedte. Az 1980-as évek végén, az 1990-es évek elején, kö-zepén a grakus üzemmódot egyértelm¶en meghatározta a videokártya memó-riájának a nagysága, a videokártyák nem rendelkeztek külön GPU-val, minden m¶veletet a CPU végzett el.

A számítógépünkhöz többféle grakus kártyát csatolhatunk. Ennek megfe-lel®en a grakus üzemmódban a felbontás és színeinek száma (ezek a grakus kártya legjellemz®bb adatai) eltér®ek voltak.

A legismertebb grakus kártyák:

CGA (Color Graphics Adapter) 320×200 képpont, 16 szín; 640×200 képpont, 2 szín (monochrome);

MCGA (Multi Color Graphics Adapter) 320×200 képpont, 256 szín;

TANDY 320×200 képpont, 16 szín;

HERCULES (vagy röviden HERC) 720×348 képpont, monochrome (2 szín);

EGA (Enached Graphics Adapter) 640×350 képpont, 16/64 szín;

VGA (Video Graphics Array) 640×480 képpont, 16/64/256 szín;

800×600 képpont, 256 szín (SVGA 512 KB memória); 1024×768 kép-pont, 256 szín (SVGA 1 MB memória);

XGA (eXtended Graphics Array) felbontása és színek száma azonos a VGA-val, de sebessége DOS-ban 90%-kal, Windows-ban 50%-kal na-gyobb.

A számítógépek h®skorában csak szöveges üzemmód létezett, a progra-mok az eredményeket a szöveges képerny®n vagy a nyomtatón jelenítették meg, a felhasználók vizuális igényeinek megfelel®en azonban a programozók itt is megtalálták a módját annak, hogy grakus ábrákat állítsanak el®. A legegysze-r¶bb grakák (de felépítés, generálás szempontjából talán a legbonyolultabbak) a szöveges karakterekb®l kirakott képek voltak. Ekkor egy egyszer¶ soronkén-ti kiírással szöveges üzemmódban karaktereket jelenítettünk meg a képerny®n (vagy a nyomtatón), amelyek távolról gyelve képpé álltak össze.

Manapság ez m¶vészeti irányzattá fejl®dött, speciális generáló szoftvereket is írtak, vagy gy¶jteményes kiállításokat is szerveznek (pl. http://www.ascii-art.de/, http://chris.com/ascii/).

3.1. ábra. Virág karakterekb®l (készítette Susie Oviatt), valamint 3D hatású karakterekb®l kirakott kép

Fejlettebb technika volt a számítógép memóriájában lév® karaktertábla át-deniálása, számos DOS alatti számítógépes játék készült így. A karakterek is pontokból vannak deniálva, minden karaktert egy pontmátrix ír le, a mátrix sorait byte típusú számokká konvertálva. Nem kellett mást tenni, mint átrajzolni a karaktereket, például az 'A' karakter képe helyett egy olyan számsorozatot be-írni, amely egy téglafal pontmátrix-képének felel meg, így valahányszor kiírtuk az 'A' bet¶t a képerny®re, nem az 'A' karakter képe (glyph) jelent meg, hanem a téglafal.

3.2. ábra. Glyph-ek átdeniálása DOS alatt

Egy másik közkedvelt DOS-os grakus megoldás a BOB-ok programozása volt. A BOB-ok (Blitter OBject) olyan 256 szín¶, téglalap alakú grakai objek-tumok, melyek tetsz®legesen mozgathatóak, eltüntethet®k és megjeleníthet®ek.

Az elnevezés az Amiga gépekr®l származik. BOB-nak tekinthet® például az egér ikonja grakus képerny®n, ami általában nyíl formájú. Vagy például BOB egy játékban egy futó ember. Egy BOB bizonyos részein áttetsz® (transzparens) lehet, vagyis ott az látszik, ami mögötte van. A BOB memóriában lév® grakus ada-tait shape-nek nevezzük. EgyW szélesség¶,H magasságú shape helyfoglalása W ×Hbyte.

A BOB-okat általában objektumorientáltan szokás programozni magas szin-t¶ nyelvekben, de a gyorsaság miatt igen elterjedt az assemblyben való progra-mozás is.

Assemblyben a grakus üzemmódot a 10h megszakításon (video and scree services) keresztül lehet elérni.

A videomód beállítása a 00h funkcióval történik.

Például az MCGA (320×200, 256 szín¶) üzemmódot, amely az egyetlen hagyományos 256 szín¶ üzemmód, így kell bekapcsolni:

1 mov ax, 0013h {00h funkció, 13h üzemmód}

2 int 10h {meghívjuk a megszakítást}

Visszatérni szöveges üzemmódba:

1 mov ax, 0003h {00h funkció, 03h szöveges üzemmód}

2 int 10h {meghívjuk a megszakítást}

A képerny® memóriabeli kezd®címe az A000:0000, egy byte egy pixelnek felel meg, a pixelek sorfolytonosan vannak tárolva, balról jobbra, fentr®l lefele.

Az Ox koordinátatengely tehát balról jobbra n®, az Oy koordinátatengely pedig fentr®l lefele. A képerny® helyigénye 320×200, azaz 64000 byte.

Az MCGA képszerkezetének megfelel®en, egy (x,y)koordinátájú pixel of-szettcímét a videomemóriában a CÍM = 320*y+xképlettel határozhatjuk meg.

EgyCszín¶, (x,y)koordinátájú pixelt tehát így rajzolhatunk ki:

1 mov es, A000h 2 mov ax, 320

3 mul y {A pixel sorának kezd˝ocíme 320*y}

4 add ax, x {A pixel címe: 320*y+x}

5 mov di, ax {ES:[DI] a felgyújtandó pixel címe}

6 mov al, c {a pixel színe}

7 mov es:[di], al {a pixel kigyújtása}

Egy (x,y)koordinátájú pixel színének a lekérdezése:

1 mov es, A000h

2 mov ax, 320 {A kép szélessége 320 pixel}

3 mul y {A pixel sorának kezd˝ocíme: 320*y}

4 add ax, x {A pixel címe: 320*y+x}

5 mov di, ax {ES:[DI] a leolvasandó pixel címe}

6 mov al, es:[di] {a szín az AL-ben}

Közkedvelt, széles körben elterjedt, grakai megjelenítésre képes magas szint¶ programozási nyelv a LOGO.

A programozási nyelvet és a hozzá kapcsolódó pedagógiai elveket Seymour Papert amerikai matematikus dolgozta ki az 1960-as években. LOGO az interp-reter (értelmez®) nyelvek közé tartozik, azaz közvetlenül lehet utasítást adni és végrehajtatni. Grakai része alapján az automata elv¶ nyelvek közé, szövegke-zel® része alapján pedig a funkcionális nyelvek családjába sorolható.

LOGO-ban nincs hagyományos értelemben vett változó, mert a változók száma, típusa, elnevezése rögzített, illetve utasítások paraméterei lehetnek. A paraméterek érték szerinti paraméterek, híváskor kapnak értéket. Eljárások, cik-lusok paraméterfügg®ek lehetnek. A paraméterfügg® ciklus csak egy primitív, ciklusváltozó nélküli, adott lépésszámú lehet. Minden más feladatra rekurzív eljárást célszer¶ írni.

A LOGO grakus rendszere a tekn®c-graka. Eredeti állapotában a kép-erny® közepén lév® tekn®c jellemz®je a helye és iránya. Megtanítható tetszés szerint alakzatok rajzolására, mozgó ábrák készítésére, a toll és a rajzlap színé-nek változtatására, matematikai m¶veletekre, véletlen jelenségek bemutatására, szövegírásra, zenélésre, animációra. A tekn®c által a képerny®n megtett út a grakus ábra. A nyelv utasításai a tekn®c vezérlésére szolgálnak.

Példa: egy 100 egység oldalú négyzet kirajzolása:

1 forward 100 2 right 90 3 forward 100 4 right 90 5 forward 100 6 right 90 7 forward 100

A 3.3. ábrán látható spirál kirajzolása rekurzív módon:

1 to spiral :size

2 if :size > 30 [stop]

3 forward :size right 15 4 spiral :size *1.02 5 end

Meghívás például:

1 spiral 10

3.3. ábra. Spirál LOGO-ban

DOS alatt számos ma is használatos magas szint¶ programozási nyelv biztosított grakus lehet®ségeket.

A következ®kben a Turbo (Borland) Pascal grakus lehet®ségeit tekintjük át, ezek mivel a fordítóprogramot és a környezetet ugyanaz a cég írta (Bor-land) ugyanúgy m¶ködnek DOS alatti Borland C++-ban is természetesen az eljárásokat, utasításokat aC+ +szintaxisának megfelel®en kell írni.

In document 1.1. A számítógépes graka célja (Pldal 162-170)