Sprite ( angolul sprite - " tündér , elf ") - egy grafikus objektum a számítógépes grafikában .
Leggyakrabban a képernyőn megjeleníthető bittérkép [ 1] . Ha rossz szögből nézünk egy sprite-ot a 3D-s térben, az megtöri az illúziót. Vagyis a legegyszerűbb egy sprite-t valamilyen térben mozgó térfogati test vetületeként felfogni, így a különbség észrevehetetlen.
A "sprite" szót az 1970-es években találta ki a Texas Instruments egyik alkalmazottja : az új TMS9918 chipjük kis képeket tudott megjeleníteni egy álló hardver háttéren [2] .
Kezdetben a sprite-okat kis rajzokként értelmezték, amelyeket hardveres gyorsítással jelenítettek meg a képernyőn . Egyes gépeken ( MSX 1, NES ) a szoftveres rajzolás bizonyos korlátozásokat eredményezett , de a hardveres sprite-ek nem tartalmazták ezt a korlátozást. Ezt követően a központi processzor teljesítményének növekedésével a hardveres sprite-eket elhagyták, és a "sprite" fogalma minden kétdimenziós karakterre kiterjedt. Különösen a Super Mario és a Heroes of Might and Magic videojátékokban az összes grafika sprite, amelyet a sprite atlasz képei között animálnak.
A hardveresen gyorsított sprite-ok az 1990-es évek közepén tértek vissza , amikor a multimédia fejlődése, valamint a felbontás és a színmélység robbanásszerű növekedése speciális processzort igényelt a videokártyában. Ekkor jelent meg a DirectDraw , mint egy 2D-s hardveres gyorsító csomagolóanyaga . A DirectX 8 bevezetett egy közös API -t a 2D-s és 3D-s grafikákhoz, és a modern sprite-játékokban a 2D-s sprite-ok pontosan ugyanúgy jelennek meg, mint a 3D-s sprite-ek – texturált téglalapként .
A sprite atlasz egy bittérkép, amely a sprite-eket animációs forgatókönyvekké vagy más sprite-készletekké rendezi. Az alkalmazás célszerűsége a fájlok számának csökkentése és a sprite batch használata a renderelési folyamatban : egy kép kerül a videokártyára, egy sor koordináta, amelyen „ renderelni ” kell, és „stencilek”, amelyek vágják. egyes sprite-ok az atlaszból. Ennek eredményeként a kétdimenziós grafika sokkal gyorsabban "renderel", mint az egyes sprite-ok egyszeri átvitele a videokártyára a renderelési koordináták jelzésével. A további tömörítés és a kihasználatlan terület csökkentése érdekében az atlasz nem hálóba, hanem a legsűrűbben tömörített formában tudja kombinálni a képeket, így ha minden sprite körül egy téglalapot ír le, akkor a téglalapok egy része metszi egymást. Ez a formátum további információkat igényel azokról a csúcsokról, amelyek képesek leírni az egyes sprite-okat anélkül, hogy a többivel metszenek, és növeli az alkalmazás betöltési idejét, de csökkenti a memóriát.
A CSS önmagában is lehetővé teszi a sprite atlaszok használatát. Egy grafikai fájlban több kép található. Továbbá, hogy több képre bontsuk, a képméret-korlátozást az atlasz egy sprite méretére alkalmazzuk, és az atlasz háttérpozícióját a képmagasság többszörösének megfelelő értékkel toljuk el. Így egy fájl az egész webhelyhez ikonokat biztosíthat.
A CSS sprite-ok forgalmat takarítanak meg és felgyorsítják a betöltést – a böngészőnek kevesebb fájlt kell kérnie.
A korai 3D-s játékokban, például a Wolfenstein 3D ( 1992 ), a Doom ( 1993 ) és a Build Engine - alapú játékokban ( Duke Nukem 3D , Shadow Warrior , Exhumed, Redneck Rampage ) a karaktereket 2D-s rajzokként ábrázolták, amelyek mérete attól függően változott, hogy milyen távolságra voltak. a játékostól származnak.
A 3D gyorsítók a következő technikát használják: egy objektumot síkként rajzolnak meg, amelyre átlátszó területekkel egy textúrát helyeznek. Ezt a technológiát három esetben alkalmazzák.
OptimalizálásA Sprite segítségével optimalizálható a grafikus mag, ha egy részletes 3D-s modell renderelése túl drága, és a renderelési sebesség súlyos csökkenéséhez vezethet. Ezek:
Egyes speciális effektusok , például a tűz, sprite-ekkel készülnek, mivel a sokszögű tűz rosszul néz ki. Hasonlítsa össze például a Quake 2 és az Unreal Tournament robbanásait .
A kép nagyobb hitelessége érdekében nagyszámú viszonylag kis spritet használnak (az úgynevezett részecskerendszert ).
Élő felvételIdőnként sprite-okat használnak arra, hogy élő fotót vagy videót adjanak a játékhoz . Például:
Érdemes megjegyezni, hogy néhány sprite-játékban, mint például a Rise of the Triad , a sprite-eket inkább színészek fotózták le, nem pedig modellek, játékok vagy rajzok.
A shaderek megjelenése részben szükségtelenné teszi az élő fotózást – a fotókép számos árnyalata már valós időben is átadható a sokszögű modellekkel.
Az ilyen játékokban a "Spray" a minta neve, amikor különböző típusú fegyverekből tüzel, amely szerint a játékosok megtanulják irányítani a visszarúgást és javítani a lövöldözést.