Sprite (tietokonegrafiikka)

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 17. lokakuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 4 muokkausta .

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.

Termin alkuperä

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] .

Sprites in 2D

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 sprites

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.

Sprites in 3D

Ensimmäisen sukupolven moottorit

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 -kiihdyttimillä

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.

Optimointi

Spritejä 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:

  • Esineet, joita esiintyy kohtauksessa suuria määriä ja joilla 3D:nä olisi suuri määrä kasvoja ja niillä olisi erittäin vahva vaikutus esitykseen - esimerkiksi taustalla olevat extrat, savu, ruoho jne.
  • Kaukana olevat kohteet, jotka on piirretty lähelle monikulmiomalleilla , muuttuvat eri yksityiskohtien spriteiksi (LOD), kun ne menevät kauemmaksi.
Erikoistehosteet

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ä ).

Livemateriaalia

Toisinaan 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.

Terminologia

  • Billboard  - sprite, joka on jatkuvasti kameraa päin (samanlainen kuin moottoriteiden mainostaulut , jotka on käännetty edullisimpaan kulmaan).
  • Impostor  on sprite, joka korvaa 3D-mallin kaukaa.

Suihkuta FPS-ampujissa

Tällaisissa peleissä "Spray" on erityyppisistä aseista ammuttaessa mallin nimi, jonka mukaan pelaajat oppivat hallitsemaan rekyyliä ja parantamaan ampumista.

Katso myös

Muistiinpanot

  1. sprite määritelmä - Sanakirja - MSN Encarta (downlink) . Käyttöpäivä: 11. tammikuuta 2008. Arkistoitu alkuperäisestä 25. toukokuuta 2009. 
  2. Karl Guttagin konferenssi Delphi TI Netistä - Google Groups . Haettu 3. syyskuuta 2012. Arkistoitu alkuperäisestä 2. elokuuta 2013.

Linkit