Sprite (informatika)
A számítógépes grafikában a sprite (kiejtése: "szprájt") egy matematikai értelemben, illetve megjelenésében két dimenziós (2D) bitkép, (angolul: bitmap) mely egy nagyobb képbe vagy jelenetbe ágyazódik be, általában videójátékok színes, mozgó grafikai elemeként.[1][2] A fogalom eredetileg fix méretű, hardveresen megjelenített grafikai objektumokra vonatkozott, azonban manapság már bővebb értelemben használjuk.
Történet
[szerkesztés]Az 1970-es, illetve az 1980-as évek játéktermi gépei, illetve videójáték-konzoljai nem rendelkeztek még elég gyors processzorral, illetve összteljesítménnyel ahhoz, hogy a teljes képernyőt egyidejűleg frissíthessék villódzásmentesen. Az ezt áthidaló megoldás az volt, hogy a képernyő mozgó objektumait (sprite-jait) - a processzor megkerülésével - hardveresen jelenítik meg, illetve kezelik egymás átlapolódását, érintkezését, azaz "ütközését".[1] Különbözőek voltak a megvalósítások, mind az adott modellen használható sprite-ok színmélysége és mérete, mind pedig az egyszerre megjeleníthető sprite-ok száma, illetve speciális funkciók terén, mint amilyen a skálázás vagy a pixelpontos átlapolás. Régebbi videókártyák elterjedt funkciója volt a "hardveres egérkurzor", mely valójában egy kettő vagy négy színű sprite, ez ma már leggyakrabban hiányzik és poligon alapú megjelenítést alkalmaznak.[1]
Játékkonzolok hardveres sprite-kezeléssel
[szerkesztés]- Atari 2600 (1977),[1]
- ColecoVision (1982),
- Nintendo Entertainment System (1983),
- Sega Mega Drive (1988),
- Game Boy (1989),[1]
- PlayStation (1994).[1]
Számítógépek hardveres sprite-kezeléssel
[szerkesztés]- TI-99/4 (1979),
- Atari 400/800 (1979),
- Commodore 64 (1982),[1]
- MSX (1983),
- Amiga (1985),[1]
- X68000 (1987).
Működés
[szerkesztés]A sprite-ok hardveres összeállítása akkor történik meg, amikor egy letapogatási sor (scanline) előkészítése megtörténik a videókimeneti eszközre, mint amilyen például a katódsugárcső (CRT). Az eljárás nem igényli a CPU közreműködését, illetve nem szükséges a teljes képet tartalmazó puffer (frame buffer) megléte sem.[2] E hardveres eljárás során van lehetőség a sprite attribútumainak megváltoztatásával átpozícionálni, megváltoztatni azt. Az egy letapogatási soronként megjeleníthető sprite-ok száma gyakran kisebb a rendszer által maximálisan támogatott sprite-számnál. Például a Texas Instruments TMS9918 chipje 32 sprite-ot támogat, de letapogatási soronként csak 4 jeleníthető meg egyszerre.[3]
A mai modern számítógépek, videójáték-konzolok, de még a mobiltelefonok, táblagépek is elegendően gyorsak ahhoz, hogy a képernyőre szánt bitképeket egyben egy kép-pufferbe töltsék hardveres rásegítés nélkül. Ezen túlmenően pedig a mai videókártyákban, alaplapokon használt grafikai segédprocesszorok (GPU-k), a CPU-val párhuzamosan működve, töméntelen mennyiségű képi adatot képesek mozgatni, skálázni, elforgatni, élsimítani, áttetszővé tenni stb.
Jegyzetek
[szerkesztés]- ↑ a b c d e f g h Sprite (magyar nyelven). Amiga Spirit Wiki . (Hozzáférés: 2024. január 25.)
- ↑ a b Why Do Dedicated Game Consoles Exist? (angol nyelven). Programming in the 21st Century . (Hozzáférés: 2024. január 25.)
- ↑ Video Display Processors - Programmer's Guide (angol nyelven). Texas Instruments (1984. augusztus). Hozzáférés ideje: 2024. január 27.