Sprite (počítačová grafika) - Sprite (computer graphics)
Část seriálu na téma: |
Grafika videoher |
---|
V počítačové grafiky , je sprite je dvojrozměrný rastrový obrázek , který je integrován do většího scény, nejčastěji ve 2D videohře . Původně se termín sprite označoval objekty pevné velikosti složené dohromady, pomocí hardwaru, s pozadím. Používání termínu se od té doby stalo obecnějším.
Systémy s hardwarovými skřítky zahrnují arkádové videohry 70. a 80. let; herní konzole jako Atari VCS (1977), ColecoVision (1982), Nintendo Entertainment System (1983) a Sega Genesis (1988); a domácí počítače , jako jsou Texas Instruments TI-99/4A (1979), 8bitová rodina Atari (1979), Commodore 64 (1982), MSX (1983), Amiga (1985) a X68000 (1987). Hardware se liší počtem podporovaných spritů, velikostí a barvami každého spritu a speciálními efekty, jako je změna měřítka nebo hlášení překrytí s přesností na pixel.
Hardwarové složení spritů nastává, když je každý skenovací řádek připraven pro výstupní video zařízení, jako je CRT , bez zapojení hlavního CPU a bez potřeby vyrovnávací paměti snímků na celou obrazovku . Sprity lze umístit nebo změnit nastavením atributů používaných během procesu skládání hardwaru. Počet spritů, které lze zobrazit na skenovací řádek, je často nižší než celkový počet spritů, které systém podporuje. Například čip Texas Instruments TMS9918 podporuje 32 sprite, ale pouze 4 se mohou objevit na stejné skenovací lince.
Procesory v moderních počítačích, videoherních konzolách a mobilních zařízeních jsou dostatečně rychlé, aby bylo možné bitmapy vykreslovat do vyrovnávací paměti snímků bez speciální hardwarové asistence. Alternativně mohou moderní GPU vykreslovat obrovské množství zmenšených, otočených, vyhlazených a částečně průsvitných obrázků paralelně s CPU.
Dějiny
Arkádové systémy
Použití skřítků pocházelo z arkádových videoher . S původním konceptem přišel Nolan Bushnell, když vyvinul první arkádovou videohru Computer Space (1971). Technická omezení ztěžovala adaptaci rané mainframe hry Spacewar! (1962), který provedl obnovu celé obrazovky pro každý malý pohyb, a tak přišel s řešením problému: ovládáním každého jednotlivého herního prvku pomocí vyhrazeného tranzistoru . Tyto rakety byly v podstatě jediná možnost rastrové obrázky , které pohybovat po obrazovce nezávisle na pozadí, což je důležité inovace, které umožnily snímky obrazovek, které mají být vyrobené efektivněji a poskytuje základ pro skřítek grafiku.
Nejdříve videohry představují herní postava jako lidské hráč skřítci byli pasáž sportovní videohry , sahající až do Taito ‚s televizní basketbalu , vydané v dubnu 1974 a schválené pro Midway Manufacturing pro vydání v severní Americe. Navrhl ho Tomohiro Nishikado a chtěl se posunout od jednoduchých obdélníků ve stylu pongu ke grafice postav tím, že přeskupil tvary obdélníku do objektů, které vypadají jako basketbalisté a basketbalové koše . Ramtek později vydal další sportovní videohru v říjnu 1974, Baseball , která podobně zobrazovala lidské postavy.
Namco Galaxian pasáž systémová deska pro 1979 arkádové hry Galaxian , zobrazí animovaný, mnohobarevný skřítky během rolování pozadí se stala základem pro Nintendo ‚s Radar Rozsah a Donkey Kong pasáž hardware a domácích konzolí , jako je Nintendo Entertainment System . Podle Steva Golsona z General Computer Corporation se v té době používal termín „razítko“ místo „skřítka“.
Domácí systémy
Signetics vyvinul první čipy schopné generovat sprite grafiku (označovanou jako objekty Signetics) pro domácí systémy. Videoprocesory Signetics 2636 byly poprvé použity v roce 1978 v pokročilém programovatelném videosystému 1292 a později v roce 1979 v počítači Elektor TV Games Computer .
Atari VCS , které vyšlo v roce 1977, má realizace hardwaru sprite, kde může být pět grafické objekty přesunout nezávisle na herním herním poli. Termín sprite se v té době nepoužíval. Skřítci VCS se v programovací příručce nazývají pohyblivé objekty , dále identifikované jako dva hráči , dvě střely a jedna koule . Každý z nich sestává z jedné řady pixelů, které jsou zobrazeny na skenovací lince . Pro vytvoření dvourozměrného tvaru se jednořádková bitmapa spritu softwarem mění z jednoho skenovacího řádku na další.
Domácí počítače Atari 400 a 800 z roku 1979 mají podobné, ale propracovanější obvody schopné pohybovat osmi jednobarevnými objekty na skenovací řádek: čtyři 8bitové široké přehrávače a čtyři 2bitové střely . Každý je v celé výšce displeje – dlouhý tenký proužek. DMA z tabulky v paměti automaticky nastaví registry grafických vzorů pro každý skenovací řádek. Hardwarové registry řídí horizontální polohu každého hráče a střely. Vertikálního pohybu je dosaženo přesouváním bitmapových dat v pruhu hráče nebo střely. Tato funkce byla společností Atari nazvána grafikou hráče/raket .
Termín sprite byl poprvé použit v grafickém smyslu jedním z tvůrců video zobrazovacího procesoru (VDP) Texas Instruments 9918(A ). Termín poprvé použil Danny Hillis v Texas Instruments koncem 70. let. Termín byl odvozen ze skutečnosti, že skřítci, spíše než aby byli součástí bitmapových dat ve framebufferu, místo toho „pluli“ nahoře, aniž by ovlivnili data ve framebufferu níže, podobně jako duch nebo „ skřítek “. Tou dobou už skřítci pokročili do bodu, kdy bylo možné přesouvat kompletní dvourozměrné tvary po obrazovce horizontálně i vertikálně s minimální softwarovou režií.
Systémy s hardwarovými skřítky
Jedná se o základní hardwarové specifikace a nezahrnují další programovací techniky, jako je použití rastrových přerušení k opětovnému použití sprajtů uprostřed snímku.
Počítačový systém | Hardware Sprite | Rok | Skřítci na obrazovce | Skřítci online | Max. texels on-line | Šířka textury | Výška textury | Barvy | Hardwarový zoom | Otáčení | Pozadí | Detekce kolize | Průhlednost | Zdroj |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Amstrad Plus | 1990 | 16 | 16 | ? | 16 | 16 | 15 | 2, 4× vertikální, 2, 4× horizontální | Ne | 1 bitmapová vrstva | Ne | Barevný klíč | ||
Atari 2600 | TIA | 1977 | 5 | 5 | 19 | 1, 8 | 262 | 1 | 2, 4, 8× horizontální | Horizontální zrcadlení | 1 bitmapová vrstva | Ano | Barevný klíč | |
8bitová rodina Atari | GTIA / ANTIC | 1979 | 8 | 8 | 40 | 2, 8 | 128, 256 | 1 | 2× vertikální, 2, 4× horizontální | Ne | 1 dlaždicová nebo bitmapová vrstva | Ano | Barevný klíč | |
Commodore 64 | VIC-II | 1982 | 8 | 8 | 96, 192 | 12, 24 | 21 | 1, 3 | 2× celé číslo | Ne | 1 dlaždicová nebo bitmapová vrstva | Ano | Barevný klíč | |
Amiga (OCS) | Denise | 1985 | 8, lze opakovaně použít vodorovně po krocích 4 pixelů | Libovolné, 8 jedinečných | Libovolný | 16 | Libovolný | 3, 15 | Vertikálně podle seznamu zobrazení | Ne | 2 bitmapové vrstvy | Ano | Barevný klíč | |
Amiga (AGA) | Lisa | 1992 | 8, lze opakovaně použít vodorovně po krocích 2 pixely | Libovolné, 8 jedinečných | Libovolný | 16, 32, 64 | Libovolný | 3, 15 | Vertikálně podle seznamu zobrazení | Ne | 2 bitmapové vrstvy | Ano | Barevný klíč | |
ColecoVision | TMS9918A | 1983 | 32 | 4 | 64 | 8, 16 | 8, 16 | 1 | 2× celé číslo | Ne | 1 vrstva dlaždic | Částečný | Barevný klíč | |
TI-99/4A | TMS9918A | 1981 | 32 | 4 | 64 | 8, 16 | 8, 16 | 1 | 2× celé číslo | Ne | 1 vrstva dlaždic | Částečný | Barevný klíč | |
Gameduino | 2011 | 256 | 96 | 1,536 | 16 | 16 | 255 | Ne | Ano | 1 vrstva dlaždic | Ano | Barevný klíč | ||
Intellivision | STIC AY-3-8900 | 1979 | 8 | 8 | 64 | 8 | 8,16 | 1 | 2, 4, 8× vertikální, 2× horizontální | Horizontální a vertikální zrcadlení | 1 vrstva dlaždic | Ano | Barevný klíč | |
MSX | TMS9918A | 1983 | 32 | 4 | 64 | 8, 16 | 8, 16 | 1 | 2× celé číslo | Ne | 1 vrstva dlaždic | Částečný | Barevný klíč | |
MSX2 | Yamaha V9938 | 1986 | 32 | 8 | 128 | 8, 16 | 8,16 | 1, 3, 7, 15 na řádek | 2× celé číslo | Ne | 1 dlaždicová nebo bitmapová vrstva | Částečný | Barevný klíč | |
MSX2+ / MSX turbo R | Yamaha V9958 | 1988 | 32 | 8 | 128 | 8,16 | 8,16 | 1, 3, 7, 15 na řádek | 2× celé číslo | Ne | 1 dlaždicová nebo bitmapová vrstva | Částečný | Barevný klíč | |
Namco Pac-Man (arkáda) |
TTL | 1980 | 6 | 6 | 96 | 16 | 16 | 3 | Ne | Horizontální a vertikální zrcadlení | 1 vrstva dlaždic | Ne | Barevný klíč | |
TurboGrafx-16 | HuC6270A | 1987 | 64 | 16 | 256 | 16, 32 | 16, 32, 64 | 15 | Ne | Horizontální a vertikální zrcadlení | 1 vrstva dlaždic | Ano | Barevný klíč | |
Namco Galaxian (arkáda) |
TTL | 1979 | 7 | 7 | 112 | 16 | 16 | 3 | Ne | Horizontální a vertikální zrcadlení | 1 vrstva dlaždic | Ne | Barevný klíč | |
Nintendo Donkey Kong , Radar Scope (arkáda) |
1979 | 128 | 16 | 256 | 16 | 16 | 3 | Celé číslo | Ne | 1 vrstva dlaždic | Ano | Barevný klíč | ||
Nintendo DS | Integrovaná PPU | 2004 | 128 | 128 | 1,210 | 8, 16, 32, 64 | 8, 16, 32, 64 | 65,536 | Ano, afinní | Ano, afinní | 4 vrstvy na obrazovku; každá vrstva je nezávislá | Ne | Barevný klíč, míchání | |
NES/Famicom | PPU Ricoh RP2C0x | 1983 | 64 | 8 | 64 | 8 | 8, 16 | 3 | Ne | Horizontální a vertikální zrcadlení | 1 vrstva dlaždic | Částečný | Barevný klíč | |
Hráč | Integrovaná PPU | 1989 | 40 | 10 | 80 | 8 | 8, 16 | 3 | Ne | Horizontální a vertikální zrcadlení | 1 vrstva dlaždic | Ne | Barevný klíč | |
Game Boy Advance | Integrovaná PPU | 2001 | 128 | 128 | 1210 | 8, 16, 32, 64 | 8, 16, 32, 64 | 15, 255 | Ano, afinní | Ano, afinní | 4 vrstvy, 2 vrstvy a 1 afinní vrstva, 2 afinní vrstvy | Ne | Barevný klíč, míchání | |
Hlavní systém , herní výbava |
YM2602B VDP (odvozeno od TMS9918) |
1985 | 64 | 8 | 128 | 8, 16 | 8, 16 | 15 | 2× celé číslo, 2× vertikální | Zrcadlení dlaždic na pozadí | 1 vrstva dlaždic | Ano | Barevný klíč | |
Sega Genesis | YM7101 VDP (odvozeno SMS VDP) |
1988 | 80 | 20 | 320 | 8, 16, 24, 32 | 8, 16, 24, 32 | 15 | Ne | Horizontální a vertikální zrcadlení | 2 vrstvy dlaždic | Ano | Barevný klíč | |
Sega OutRun (arkáda) | 1986 | 128 | 128 | 1600 | 8 až 512 | 8 až 256 | 15 | Ano, anizotropní | Horizontální a vertikální zrcadlení | 2 vrstvy dlaždic a 1 vrstva bitmapy | Ano | Alfa | ||
X68000 | Cynthia jr. (původní), Cynthia (pozdější modely) | 1987 | 128 | 32 | 512 | 16 | 16 | 15 | 2× celé číslo | Horizontální a vertikální zrcadlení | 1-2 vrstvy dlaždic a 1-4 vrstvy bitmapy | Částečný | Barevný klíč | |
Neo Geo | LSPC2-A2 | 1990 | 384 | 96 | 1536 | 16 | 16 až 512 | 15 | Sprite se zmenšuje | Horizontální a vertikální zrcadlení | 1 vrstva dlaždic | Částečný | Barevný klíč | |
Super NES / Super Famicom |
S-PPU1, S-PPU2 | 1990 | 128 | 34 | 256 | 8, 16, 32, 64 | 8, 16, 32, 64 | 15 | Ne | Horizontální a vertikální zrcadlení | 3 vrstvy dlaždic nebo 1 vrstva afinně mapované dlaždice | Ano | Barevný klíč, průměrování | |
Počítačový systém | Hardware Sprite | Rok | Skřítci na obrazovce | Skřítci online | Max. texels on-line | Šířka textury | Výška textury | Barvy | Hardwarový zoom | Otáčení | Pozadí | Detekce kolize | Průhlednost | Zdroj |
Synonyma
Někteří výrobci hardwaru používali různé termíny, zvláště předtím, než se sprite stal běžným.
Player/Missile Graphics byl termín používaný společností Atari, Inc. pro hardwarové skřítky v 8bitových počítačích Atari (1979) a konzole Atari 5200 (1982). Termín odráží použití jak pro postavy ("hráče"), tak pro menší související objekty ("střely"), které sdílejí stejnou barvu. Dřívější Atari Video Computer System a některé arkádové hry Atari také používaly hráče , střely a míče pro skřítky.
Razítko bylo použito v některém arkádovém hardwaru na počátku 80. let, včetně paní Pac-Man .
Movable Object Block , neboli MOB , byl použit vliteratuře grafických čipů MOS Technology . Commodore , hlavní uživatel MOS čipů a vlastník MOS po většinu života výrobce čipů, používalpro Commodore 64termín sprite .
OBJs (zkratka pro objekty ) se používá v manuálech pro vývojáře pro NES , výborný NES a Game Boy . Oblast paměti RAM používaná k ukládání atributů sprite a souřadnic je OAM (Object Attribute Memory). To platí také pro Game Boy Advance a Nintendo DS .