Sprite ( englanniksi sprite - " keiju , tonttu ") - graafinen esine tietokonegrafiikassa .
Useimmiten bittikartta , joka voidaan näyttää näytöllä [1] . Spreen katsominen 3D-avaruudessa väärästä kulmasta rikkoo illuusion. Toisin sanoen sprite on helpoin havaita jonkin avaruudessa liikkuvan tilavuuskappaleen projektiona niin, että ero on huomaamaton.
Sanan "sprite" loi 1970-luvulla Texas Instrumentsin työntekijä : heidän uusi TMS9918-siru pystyi näyttämään pieniä kuvia kiinteän taustan päällä laitteistossa [2] .
Aluksi spriteillä ymmärrettiin pieniä piirroksia, jotka näytettiin näytöllä laitteistokiihdytyksen avulla . Joillakin koneilla ( MSX 1, NES ) ohjelmistopiirtäminen johti tiettyihin rajoituksiin , mutta laitteistospriteillä ei ollut tätä rajoitusta. Myöhemmin, kun keskusprosessorin teho kasvoi , laitteistospriteistä luovuttiin ja "spriten" käsite levisi kaikkiin kaksiulotteisiin hahmoihin. Erityisesti videopeleissä Super Mario ja Heroes of Might and Magic kaikki grafiikat ovat spritejä, jotka animoidaan iteroimalla kuvia Sprite-atlasista.
Laitteistokiihdytetyt spritet palasivat 1990-luvun puolivälissä , jolloin multimedian kehitys ja räjähdysmäinen resoluution ja värisyvyyden lisääntyminen vaativat erikoisprosessorin näytönohjaimessa. Silloin DirectDraw tuli ulos 2D-laitteistokiihdytin kääreenä . DirectX 8 esitteli yhteisen API :n 2D- ja 3D-grafiikkaa varten, ja nykyaikaisissa sprite-peleissä 2D-spriitit renderöidään täsmälleen samalla tavalla kuin 3D-spriitit - teksturoituna suorakulmiona .
Sprite-atlas on bittikartta, joka järjestää spritet animaatiokäsikirjoituksiksi tai muiksi sprite-joukoiksi. Sovelluksen tarkoituksenmukaisuus on vähentää tiedostojen määrää ja käyttää sprite-batchia renderöinnissa : yksi kuva siirretään näytönohjaimelle, joukko koordinaatteja, joille se on " renderöitävä " ja "stensiilit", jotka leikkaavat . yksittäisiä spritejä atlasista. Seurauksena on, että kaksiulotteinen grafiikka "renderöi" paljon nopeammin kuin yksittäisten spritien siirrot näytönohjaimelle renderöintikoordinaatit osoittavat. Lisäpakkauksen lisäämiseksi ja käyttämättömän tilan vähentämiseksi atlas voi yhdistää kuvia ei ruudukkoon, vaan tiheimmin pakatussa muodossa, joten jos kuvaat jokaisen spriten ympärillä olevan suorakulmion, osa suorakulmioista leikkaa toisiaan. Tämä muoto vaatii lisätietoja pisteistä, jotka voivat kuvata jokaista spriteä leikkaamatta muiden kanssa, ja lisää sovelluksen latausaikaa, mutta vähentää muistia.
CSS :n avulla voit käyttää sprite-atlaseita itsessään. Yhdessä grafiikkatiedostossa on useita kuvia. Lisäksi sen hajottamiseksi useiksi kuviksi kuvakoon rajaa sovelletaan yhden spritin kokoon atlasissa ja atlasen tausta-sijaintia siirretään arvolla, joka on kuvan korkeuden kerrannainen. Näin ollen yksi tiedosto voi tarjota kuvakkeita koko sivustolle.
CSS-spriiteet säästävät liikennettä ja nopeuttavat latausta – selaimen on pyydettävä vähemmän tiedostoja.
Varhaisissa 3D-peleissä, kuten Wolfenstein 3D ( 1992 ), Doom ( 1993 ) ja Build Engine -pohjaisissa peleissä ( Duke Nukem 3D , Shadow Warrior , Exhumed, Redneck Rampage ), hahmot esitettiin 2D-piirroksina, jotka muuttivat kokoa riippuen siitä, kuinka pitkälle he olivat. ovat pelaajalta.
3D-kiihdyttimissä käytetään seuraavaa tekniikkaa: objekti piirretään tasona, jonka päällä on pintakuvioita läpinäkyvin alueilla. Tätä tekniikkaa käytetään kolmessa tapauksessa.
OptimointiSpritejä voidaan käyttää grafiikan ytimen optimointiin , kun yksityiskohtaisen 3D-mallin renderöiminen on liian kallista ja voi johtaa renderöintinopeuden vakavaan laskuun. Nämä ovat:
Jotkut erikoistehosteet , kuten tuli, tehdään spriteillä, koska monikulmainen tuli näyttää huonolta. Vertaa esimerkiksi Quake 2 :n ja Unreal Tournamentin räjähdyksiä .
Kuvan uskottavuuden lisäämiseksi käytetään suurta määrää suhteellisen pieniä spritejä (ns. hiukkasjärjestelmä ).
LivemateriaaliaToisinaan spriteja käytetään live - kuvan tai -videon lisäämiseen peliin . Esimerkiksi:
On syytä huomata, että joissakin sprite-peleissä, kuten Rise of the Triadissa , spritet on kuvattu näyttelijöiltä mallien, lelujen tai piirustusten sijaan.
Varjostimien ulkonäkö poistaa osittain live-kuvauksen tarpeen - monet valokuvan vivahteet voidaan välittää jo monikulmiomalleilla reaaliajassa.
Tällaisissa peleissä "Spray" on erityyppisistä aseista ammuttaessa mallin nimi, jonka mukaan pelaajat oppivat hallitsemaan rekyyliä ja parantamaan ampumista.