Difference between revisions of "Sprite"
From Sega Retro
Line 19: | Line 19: | ||
! style="text-align:center" | [http://www.giantbomb.com/sprite-scaling/3015-7122/ Hardware zoom] | ! style="text-align:center" | [http://www.giantbomb.com/sprite-scaling/3015-7122/ Hardware zoom] | ||
! style="text-align:center" | [[wikipedia:Rotation|Rotation]] | ! style="text-align:center" | [[wikipedia:Rotation|Rotation]] | ||
− | ! style="text-align:center" | Background | + | ! style="text-align:center" | [[Plane|Background]] |
! style="text-align:center" | [[wikipedia:Collision_detection|Collision detection]] | ! style="text-align:center" | [[wikipedia:Collision_detection|Collision detection]] | ||
! style="text-align:center" | [[wikipedia:Transparency_(graphic)|Transparency]] | ! style="text-align:center" | [[wikipedia:Transparency_(graphic)|Transparency]] | ||
Line 35: | Line 35: | ||
| {{yes}} | | {{yes}} | ||
| {{partial|Partial rotation/distortion}} | | {{partial|Partial rotation/distortion}} | ||
− | |1 [[wikipedia:Bitmap|bitmap]] layer | + | |1 [[wikipedia:Bitmap|bitmap]] [[Plane|layer]] |
| {{yes}} | | {{yes}} | ||
| {{partial|[[wikipedia:Chroma key|Color key]]}} | | {{partial|[[wikipedia:Chroma key|Color key]]}} | ||
Line 50: | Line 50: | ||
| {{partial|1, 2× integer}} | | {{partial|1, 2× integer}} | ||
| {{no}} | | {{no}} | ||
− | |1 bitmap layer | + | |1 bitmap [[Plane|layer]] |
| {{yes}} | | {{yes}} | ||
| {{partial|Color key}} | | {{partial|Color key}} |
Revision as of 22:09, 2 October 2020
A sprite is a 2-dimensional movable image that appears on the screen.
In Mega Drive games, sprites can be no larger than 32x32 pixels and use no more than 15 colors (plus 1 for transparency), so several sprites are often used by a single object (for example the Sonic object). The way sprites are arranged together in a single object is called sprite mappings. It is also possible to zoom sprites up to full screen.[1]
A sprite is essentially a texture, or textured rectangle.[2] Sprites can be used for both two-dimensional gameplay (as flat surfaces) and three-dimensional gameplay (with scaling, rotation and distortion). Sprites could be manipulated to resemble texture-mapped 3D polygons, as is the case with several Sega systems, including the Sega Saturn console and the Sega X Board, Y Board, System 32, ST-V and H1 Board arcade systems. A sprite can also be used as a texture that is applied to the surface of a 3D polygon, resulting in a texture-mapped 3D polygon. Conversely, a texture-mapped polygon could be manipulated to resemble a 2D sprite (rendering a textured quad polygon as a flat surface), as is the case with the Sega Dreamcast console and Sega NAOMI arcade system.
List of Sega systems by sprite capabilities
Year | System(s), chip(s) | Sprites on screen | Max. texels on screen | Sprites on line | Max. texels on line | Texture width | Texture height | Colors | Hardware zoom | Rotation | Background | Collision detection | Transparency | References |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1976 | Fonz, arcade hardware |
3 | 1688 | 3 | 104 | 13, 20 | 28, 48 | 2 | Yes | Partial rotation/distortion | 1 bitmap layer | Yes | Color key | |
Heavyweight Champ, arcade hardware |
2 | 5670 | 2 | 90 | 35 to 45 | 62, 63 | 3 | 1, 2× integer | No | 1 bitmap layer | Yes | Color key | [3] | |
1980 | Sega Galaxian, arcade hardware |
Display list | 25,088 | 7 | 112 | 16 | 16 | 3 | No | Horizontal and vertical mirroring | 1 tile layer and 1 bitmap layer | Yes | Color key | |
1981 | KO Punch, arcade hardware |
Display list | 21,504 | 6 | 96 | 16 | 16 | 7 | 1, 2× integer | Horizontal and vertical mirroring | 1 tile layer | Mechanical | Color key | [4][5][6][7] |
Sega G80, Raster Display Controller |
Display list | 57,344 | 32 | 256 | 8, 16 | 8, 16 | 3 | Vector | Screen orientation | 2 tile layers | Yes | Color key | [8][9] | |
Sega VCO Object, arcade hardware |
128 | 71,680 | 16 | 322 | 8 to 256 | 8 to 224 | 3, 7 | Yes | Background tile mirroring | 1 tile layer and 1 bitmap layer | Yes | Color key | [10][11][12] | |
1982 | System 1 (prototype) 315‑5011 & 315‑5012 |
32 | 114,688 | 32 | 512 | 8 to 248 | 8 to 224 | 15 | No | Horizontal and vertical mirroring | 2 tile layers | Yes | Color key | |
1983 | SG-1000 & SC-3000, TMS9918 |
32 | 4096 | 4 | 64 | 8, 16 | 8, 16 | 1, 3 | 1, 2× integer | No | 1 tile layer | Yes | Color key | [13] |
System 1 & 2, 315‑5011 & 315‑5012 |
128 | 143,360 | 32 | 640 | 8 to 256 | 8 to 224 | 15 | No | Horizontal and vertical mirroring | 2 tile layers | Yes | Color key | ||
1985 | Hang‑On & System 16, 315‑5011 & 315‑5012 |
128 | 209,796 | 100 | 800 | 8 to 256 | 8 to 256 | 15 | Yes | Horizontal and vertical mirroring | 2 tile layers and 1 bitmap layer | Yes | Shadow / Highlight | [14][15] |
Sega VDP (Master System, Game Gear) |
64 | 8192 | 8 | 128 | 8, 16 | 8, 16 | 1, 3, 15 | 1, 2× integer, 1, 2× vertical, full screen | Background tile mirroring | 1 tile layer | Yes | Color key | [16][17][18] | |
1986 | Sega OutRun, 315-5211 |
128 | 384,267 | 128 | 1466 | 8 to 512 | 8 to 256 | 15 | Yes | Horizontal and vertical mirroring | 2 tile layers and 1 bitmap layer | Yes | Alpha | [19][20][21] [22][23] |
1987 | X Board, 315-5211A & 315‑5278 |
256 | 833,333 | 256 | 3200 | 8 to 512 | 8 to 256 | 15 | Yes | Yes | 4 tile layers and 1 bitmap layer | Yes | Alpha | [24][19] |
1988 | System 24, 315-5293 & 315‑5295 |
2048 | 503,808 | 164 | 1312 | 8 to 1024 | 8 to 1024 | 15 to 255 | Yes | Horizontal and vertical mirroring | 4 tile layers | Yes | Alpha | [25][26][27] |
Y Board, 315-5196 & 315‑5305 |
2176 | 1,049,476 | 500 | 4000 | 8 to 512 | 8 to 512 | 15 to 511 | Yes | Yes | 1 bitmap layer | Yes | Alpha | [28][29][19] [23][30][31] | |
Yamaha YM7101 VDP (Mega Drive, Mega‑Tech, Mega‑Play, System C) |
80 | 81,920 | 20 | 320 | 8, 16, 24, 32 | 8, 16, 24, 32 | 15 | 1, 2× integer, full screen | Horizontal and vertical mirroring | 3 tile layers (2 scrolling, 1 static) | Yes | Shadow / Highlight | [32][1] | |
1989 | Turbo OutRun, 315-5211 |
128 | 419,200 | 128 | 1600 | 8 to 512 | 8 to 256 | 15 | Yes | Horizontal and vertical mirroring | 2 tile layers and 1 bitmap layer | Yes | Alpha | |
1990 | System 32, 315-5387 |
8192 | 833,333 | 400 | 3200 | 8 to 1024 | 8 to 1024 | 15 to 512 | Yes | Yes | 4 tile layers and 1 bitmap layer | Yes | Alpha | [33][25][34] [35][36] |
1991 | Sega CD, 315-5548 ASIC |
80 | 81,920 | 20 | 320 | 8, 16, 24, 32 | 8, 16, 24, 32 | 15 | Yes | Yes | 2 tile layers | Yes | Shadow / Highlight | [37] |
1994 | Sega 32X, 32X VDP |
3800 | 243,200 | 182 | 1463 | 8 to 320 | 8 to 240 | 127 to 32,768 | Yes | Yes | 2 tile layers | Yes | Alpha | |
Hitachi VDP1 (Saturn, STV) |
16,383 | 497,112 | 227 | 1820 | 8 to 504 | 1 to 255 | 15 to 32,768 | Yes | Yes, rotation/distortion, forward texture mapping |
2–6 VDP2 layers (1–5 tile layers, 1–4 bitmap layers) |
Yes | Alpha | [38][39][40] [41][42][43] [44][45] | |
1995 | Sega H1 Board, arcade hardware |
16,384 | 1,424,640 | 795 | 6361 | 8 to 1024 | 1 to 1024 | 15 to 262,144 | Yes | Yes, rotation/distortion, forward texture mapping |
Tile and bitmap layers | Yes | Alpha | [46][47] |
1998 | Dreamcast, PowerVR CLX2 |
31,250 | 2,000,000 | 1041 | 8333 | 8 to 2048 | 8 to 2048 | 15 to 16,777,216 | Yes | Yes, rotation/distortion, perspective correction |
1 bitmap layer | Yes | Alpha | |
1998 | Sega NAOMI, PowerVR 2 |
34,713 | 3,333,312 | 1157 | 9256 | 8 to 2048 | 8 to 2048 | 15 to 16,777,216 | Yes | Yes, rotation/distortion, perspective correction |
1 bitmap layer | Yes | Alpha | |
Year | System(s), chip(s) | Sprites on screen | Max. texels on screen | Sprites on line | Max. texels on line | Texture width | Texture height | Colors | Hardware zoom | Rotation | Background | Collision detection | Transparency | References |
References
- ↑ 1.0 1.1 http://www.polygon.com/features/2015/2/3/7952705/sega-genesis-masami-ishikawa
- ↑ Sprites and textures
- ↑ Sega Discrete Logic Hardware (System 16)
- ↑ https://github.com/mamedev/mame/blob/master/src/mame/drivers/kopunch.cpp
- ↑ https://github.com/mamedev/mame/blob/master/src/mame/video/kopunch.cpp
- ↑ Sega Unique Hardware (System 16)
- ↑ KO Punch (Vizzed)
- ↑ Sega G80 Hardware Reference (1997-10-25)
- ↑ htt (Wayback Machine: 2013-01-04 20:21)
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/turbo.cpp
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/includes/turbo.h
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/video/turbo.cpp
- ↑ https://github.com/mamedev/mame/blob/master/src/mame/drivers/sg1000a.cpp
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/video/system1.cpp
- ↑ Sega Pre-System 16 hardware notes (2004-03-29)
- ↑ Sega Master System VDP documentation (2002-11-12)
- ↑ Sega Master System Technical Documentation (1998-06-10)
- ↑ http://github.com/Aypok/QuAD-SMS-Tilemap-Editor
- ↑ 19.0 19.1 19.2 Sega "X-Board" hardware notes (2004-12-03)
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaorun.cpp
- ↑ htt (Wayback Machine: 2006-06-11 10:51)
- ↑ http://www.coinop.org/kb_dl.aspx/KB/faqs/faq-sega%20outrun.html
- ↑ 23.0 23.1 http://imame4all.googlecode.com/svn-history/r146/Reloaded/trunk/src/mame/video/segaic16.c
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaxbd.cpp
- ↑ 25.0 25.1 Sega System 24 Hardware Notes (2013-06-16)
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas24.cpp
- ↑ htt (Wayback Machine: 2012-10-04 09:02)
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/segaybd.cpp
- ↑ htt (Wayback Machine: 2013-01-04 20:22)
- ↑ Sega System 16B hardware notes (2003-01-12)
- ↑ http://reassembler.blogspot.co.uk/2012/11/sega-system-16-sprite-viewer.html
- ↑ htt (Wayback Machine: 2005-01-22 09:49)
- ↑ Sega System 32
- ↑ https://github.com/mamedev/mame/tree/master/src/mame/drivers/segas32.cpp
- ↑ htt (Wayback Machine: 2013-01-04 20:22)
- ↑ http://www.shinforce.com/arcade/TechSpecs-Sys32.htm
- ↑ http://www.gamepilgrimage.com/content/sega-cd
- ↑ File:ST-013-R3-061694.pdf
- ↑ File:ST-058-R2-060194.pdf
- ↑ htt (Wayback Machine: 2013-01-04 20:29)
- ↑ htt (Wayback Machine: 2013-01-04 20:29)
- ↑ http://saturn.system11.org/html/saturn_specs.html
- ↑ htt (Wayback Machine: 2014-01-05 19:00)
- ↑ https://github.com/mamedev/mame/blob/master/src/mame/drivers/stv.cpp
- ↑ http://www.oocities.org/stephan_dolby/saturn_capabilities.html
- ↑ https://github.com/mamedev/mame/blob/master/src/mame/drivers/coolridr.cpp
- ↑ http://www.google.com/patents/US6141122