Sprite (informatika)

kétdimenziós számítógépes grafikai objektum
Ez a közzétett változat, ellenőrizve: 2024. április 15.

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.

Videójáték sprite-ok
Tank és rakéta sprite-ok a Broforce játékból
Többfázisú videójáték sprite-ok

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

Számítógépek hardveres sprite-kezeléssel

szerkesztés

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.

  1. a b c d e f g h Sprite (magyar nyelven). Amiga Spirit Wiki . (Hozzáférés: 2024. január 25.)
  2. a b Why Do Dedicated Game Consoles Exist? (angol nyelven). Programming in the 21st Century . (Hozzáférés: 2024. január 25.)
  3. Video Display Processors - Programmer's Guide (angol nyelven). Texas Instruments (1984. augusztus). Hozzáférés ideje: 2024. január 27.