Часть серии по: |
Графика видеоигр |
---|
В компьютерной графике , спрайт представляет собой двумерный растровый , который интегрирован в большую сцену, чаще всего в 2D видео игры . Этот термин впервые использовал Дэнни Хиллис из Texas Instruments в конце 1970-х годов. [1] Первоначально термин «спрайты» относился к объектам фиксированного размера, скомпонованным вместе, аппаратно, с фоном. [2] С тех пор использование этого термина стало более общим.
Системы с аппаратными спрайтами включают TI-99 / 4A (1979), семейство 8-битных Atari (1979), Commodore 64 (1982), Nintendo Entertainment System (1983), Amiga (1985), Sega Genesis (1988) и аркады. игры 1970-х и 1980-х годов. Оборудование различается количеством поддерживаемых спрайтов, количеством, которое может отображаться в каждой строке развертки (часто меньшее число), размером и цветом каждого спрайта, а также специальными эффектами, такими как масштабирование или сообщение о перекрытии с точностью до пикселя.
Аппаратная композиция спрайтов происходит по мере того, как каждая строка развертки подготавливается для устройства вывода видео, такого как ЭЛТ , без участия основного процессора и без необходимости в полноэкранном буфере кадров . [2] Спрайты можно позиционировать или изменять путем установки атрибутов, используемых в процессе аппаратной композиции.
Процессоры в современных компьютерах, игровых консолях и мобильных устройствах достаточно быстры, поэтому растровые изображения могут быть составлены без специального аппаратного обеспечения; В качестве альтернативы, современные графические процессоры могут выполнять композицию огромного количества масштабированных, повернутых, сглаженных и частично полупрозрачных изображений параллельно с процессором.
История [ править ]
Использование спрайтов возникло в аркадных играх . Первой видеоигрой, в которой персонажи игроков представлялись в виде человеческих образов игроков, была игра Taito 's Basketball , лицензированная в феврале 1974 года для Midway и выпущенная как TV Basketball в Северной Америке. [3] [4]
Signetics разработала первые микросхемы, способные генерировать спрайт-графику (называемую Signetics объектами ) для домашних систем. Видеопроцессоры Signetics 2636 впервые были использованы в усовершенствованной программируемой видеосистеме 1292 1978 года, а затем в компьютере Elektor TV Games 1979 года .
Atari VCS , выпущенный в 1977 году, имеется аппаратная реализация спрайтов , где пять графических объектов можно перемещать независимо от игры лопая. Термин спрайт в то время не использовался. В руководстве по программированию спрайты VCS называются подвижными объектами , далее обозначаются как два игрока , две ракеты и один шар . [5] Каждый из них состоит из одной строки пикселей, которые отображаются в строке сканирования . Для создания двухмерной формы однорядное растровое изображение спрайта изменяется программно от одной строки развертки к другой.
Домашние компьютеры Atari 400 и 800 1979 года имеют аналогичную, но более сложную схему, способную перемещать восемь одноцветных объектов за одну строку сканирования: четыре 8-битных проигрывателя и четыре 2-битные ракеты . Каждая - это длинная тонкая полоска во всю высоту дисплея. DMA из таблицы в памяти автоматически устанавливает регистры графического шаблона для каждой строки развертки. Аппаратные регистры контролируют горизонтальное положение каждого игрока и ракеты. Вертикальное движение достигается перемещением данных растрового изображения в пределах полосы игрока или ракеты. Эта функция была названа Atari графикой игрока / ракеты .
На системной плате Namco Galaxian для аркадной игры Galaxian 1979 года были изображены разноцветные анимированные спрайты. [6] Она стала первой спрайт системы, анимированные предварительно загруженных спрайты над прокруткой фоном, который стал основой для Nintendo «s Radar Scope и Donkey Kong аркадной оборудования и домашних консолей , таких как Nintendo Entertainment System . [7] По словам Стива Голсона из General Computer Corporation , в то время термин «штамп» использовался вместо «спрайт». [8]
Термин « спрайт» впервые был использован в графическом смысле одним из разработчиков процессора видеодисплея (VDP) Texas Instruments 9918 (A ). [9] Термин был получен из того факта, что спрайты, а не часть данных растрового изображения в буфере кадра, вместо этого «плавали» сверху, не затрагивая данные в буфере кадра ниже, во многом как призрак или « спрайт ». К этому времени спрайты достигли уровня, когда полные двумерные формы можно было перемещать по экрану по горизонтали и вертикали с минимальными затратами на программное обеспечение.
Системы с аппаратными спрайтами [ править ]
Это базовые спецификации оборудования и не включают дополнительных методов программирования, таких как использование растровых прерываний для перепрофилирования спрайтов в середине кадра.
Компьютерная система | Оборудование Sprite | Год | Спрайты на экране | Спрайты на линии | Максимум. тексели на линии | Ширина текстуры | Высота текстуры | Цвета | Аппаратный зум | Вращение | Фон | Обнаружение столкновений | Прозрачность | Источник |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Амстрад Плюс | 1990 г. | 16 | 16 | ? | 16 | 16 | 15 | 1, 2, 4 × по вертикали, 1, 2, 4 × по горизонтали | Нет | 1 растровый слой | Нет | Цветовой ключ | [10] | |
Atari 2600 | TIA | 1977 г. | 5 | 5 | 19 | 1, 8 | 262 | 1 | 1, 2, 4, 8 × по горизонтали | Горизонтальное зеркальное отображение | 1 растровый слой | да | Цветовой ключ | [11] |
Семейство 8-битных Atari | GTIA / ANTIC | 1979 г. | 8 | 8 | 40 | 2, 8 | 128, 256 | 1 | 1, 2 × по вертикали, 1, 2, 4 × по горизонтали | Нет | 1 тайловый или растровый слой | да | Цветовой ключ | [12] |
Коммодор 64 | VIC-II | 1982 г. | 8 | 8 | 96, 192 | 12, 24 | 21 год | 1, 3 | 1, 2 × целое число | Нет | 1 тайловый или растровый слой | да | Цветовой ключ | [13] |
Амига (OCS) | Дениз | 1985 г. | Произвольный | 8 | 128 | 16 | Произвольный | 3, 15 | Вертикально по списку отображения | Нет | 2 растровых слоя | да | Цветовой ключ | [14] |
Амига (AGA) | Лиза | 1992 г. | Произвольный | 8 | 512 | 16, 32, 64 | Произвольный | 3, 15 | Вертикально по списку отображения | Нет | 2 растровых слоя | да | Цветовой ключ | |
Colecovision | Техасские инструменты TMS9918A | 1983 г. | 32 | 4 | 64 | 8, 16 | 8, 16 | 1 | 1, 2 × целое число | Нет | 1 плиточный слой | Частичное | Цветовой ключ | |
Техасские инструменты TI-99 / 4A | Техасские инструменты TMS9918A | 1981 г. | 32 | 4 | 64 | 8, 16 | 8, 16 | 1 | 1, 2 × целое число | Нет | 1 плиточный слой | Частичное | Цветовой ключ | |
Gameduino | 2011 г. | 256 | 96 | 1,536 | 16 | 16 | 255 | Нет | да | 1 плиточный слой | да | Цветовой ключ | [15] | |
Intellivision | STIC AY-3-8900 | 1979 г. | 8 | 8 | 64 | 8 | 8,16 | 1 | 1, 2, 4, 8 × по вертикали, 1, 2 × по горизонтали | Горизонтальное и вертикальное зеркальное отображение | 1 плиточный слой | да | Цветовой ключ | [16] |
MSX | Техасские инструменты TMS9918A | 1983 г. | 32 | 4 | 64 | 8, 16 | 8, 16 | 1 | 1, 2 × целое число | Нет | 1 плиточный слой | Частичное | Цветовой ключ | [17] |
MSX2 | Yamaha V9938 | 1986 г. | 32 | 8 | 128 | 8, 16 | 8,16 | 1, 3, 7, 15 на строку | 1, 2 × целое число | Нет | 1 тайловый или растровый слой | Частичное | Цветовой ключ | |
MSX2 + / MSX турбо R | Yamaha V9958 | 1988 г. | 32 | 8 | 128 | 8,16 | 8,16 | 1, 3, 7, 15 на строку | 1, 2 × целое число | Нет | 1 тайловый или растровый слой | Частичное | Цветовой ключ | |
Namco Pac-Man (аркада) | TTL | 1980 г. | 6 | 6 | 96 | 16 | 16 | 3 | Нет | Горизонтальное и вертикальное зеркальное отображение | 1 плиточный слой | Нет | Цветовой ключ | [18] |
TurboGrafx-16 | HuC6270A | 1987 г. | 64 | 16 | 256 | 16, 32 | 16, 32, 64 | 15 | Нет | Нет | 1 плиточный слой | да | Цветовой ключ | |
Namco Galaxian ( аркада ) | TTL | 1979 г. | 7 | 7 | 112 | 16 | 16 | 3 | Нет | Горизонтальное и вертикальное зеркальное отображение | 1 плиточный слой | Нет | Цветовой ключ | [19] [20] [21] |
Nintendo Donkey Kong , Radar Scope (аркада) | 1979 г. | 128 | 16 | 256 | 16 | 16 | 3 | Целое число | Нет | 1 плиточный слой | да | Цветовой ключ | [22] | |
Nintendo DS | Интегрированный PPU | 2004 г. | 128 | 128 | 1,210 | 8, 16, 32, 64 | 8, 16, 32, 64 | 65 536 | Да, аффинно | Да, аффинно | 4 слоя на экран; каждый слой независим | Нет | Цветовой ключ, смешивание | [23] |
NES / Famicom | Ricoh RP2C0x PPU | 1983 г. | 64 | 8 | 64 | 8 | 8, 16 | 3 | Нет | Горизонтальное и вертикальное зеркальное отображение | 1 плиточный слой | Частичное | Цветовой ключ | [24] |
Геймбой | Интегрированный PPU | 1989 г. | 40 | 10 | 80 | 8 | 8, 16 | 3 | Нет | Горизонтальное и вертикальное зеркальное отображение | 1 плиточный слой | Нет | Цветовой ключ | [25] |
Game Boy Advance | Интегрированный PPU | 2001 г. | 128 | 128 | 1210 | 8, 16, 32, 64 | 8, 16, 32, 64 | 15, 255 | Да, аффинно | Да, аффинно | 4 слоя, 2 слоя и 1 аффинный слой, 2 аффинных слоя | Нет | Цветовой ключ, смешивание | [26] |
Мастер-система , игровое снаряжение | VDP (производный от TMS9918) | 1985 г. | 64 | 8 | 128 | 8, 16 | 8, 16 | 15 | 1, 2 × целое, 1, 2 × по вертикали | Зеркальное отображение фоновой плитки | 1 плиточный слой | да | Цветовой ключ | [27] [28] |
Sega Genesis | YM7101 VDP (на основе SMS VDP) | 1988 г. | 80 | 20 | 320 | 8, 16, 24, 32 | 8, 16, 24, 32 | 15 | Нет | Горизонтальное и вертикальное зеркальное отображение | 2 слоя плитки | да | Цветовой ключ | [29] [30] |
Sega OutRun (аркада) | 1986 г. | 128 | 128 | 1600 | От 8 до 512 | От 8 до 256 | 15 | Да, анизотропный | Горизонтальное и вертикальное зеркальное отображение | 2 тайловых слоя и 1 растровый слой | да | Альфа | [31] [32] [33] [34] [35] [36] [37] | |
Sharp X68000 | Синтия мл. (оригинал), Синтия (более поздние модели) | 1987 г. | 128 | 32 | 512 | 16 | 16 | 15 | 1, 2 × целое число | Горизонтальное и вертикальное зеркальное отображение | 1-2 слоя плитки и 1-4 слоя растрового изображения | Частичное | Цветовой ключ | [38] [39] [40] |
Neo Geo | LSPC2-A2 | 1990 г. | 384 | 96 | 1536 | 16 | От 16 до 512 | 15 | Уменьшение спрайта | Горизонтальное и вертикальное зеркальное отображение | 1 плиточный слой | Частичное | Цветовой ключ | [41] [42] [43] |
Super NES / Super Famicom | С-ППУ1, С-ППУ2 | 1990 г. | 128 | 34 | 272 | 8, 16, 32, 64 | 8, 16, 32, 64 | 15 | Только фон | Горизонтальное и вертикальное зеркальное отображение | 3 слоя листов или 1 слой листов с аффинным отображением | да | Цветовой ключ, усреднение | |
Компьютерная система | Оборудование Sprite | Год | Спрайты на экране | Спрайты на линии | Максимум. тексели на линии | Ширина текстуры | Высота текстуры | Цвета | Аппаратный зум | Вращение | Фон | Обнаружение столкновений | Прозрачность | Источник |
Использование в 3D-рендеринге [ править ]
Этот раздел, возможно, содержит оригинальные исследования . Ноябрь 2016 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) ( |
2D-изображения с альфа-каналами, ограниченными обращением к камере, могут использоваться в 3D-графике . Они обычно используются для визуализации растительности, для аппроксимации удаленных объектов или для эффектов частиц . Иногда их называют «рекламными щитами» или «Z-спрайтами». Если спрайты визуализируются на лету для кэширования приблизительного вида базовой 3D-модели , такие спрайты называются самозванцами . [44] Современное аппаратное обеспечение графического процессора может имитировать спрайты с двумя текстурированными треугольниками или конкретными примитивами, такими как точечные спрайты .
Синонимы [ править ]
Этот раздел требует дополнительных ссылок для проверки . апрель 2016 г. ) ( Узнайте, как и когда удалить это сообщение-шаблон ) ( |
Некоторые производители оборудования использовали другие термины, кроме спрайтов .
Player / Missile Graphics - термин, используемый Atari, Inc. для аппаратно сгенерированных спрайтов в 8-битных компьютерах Atari и консоли Atari 5200 . [45] Термин отражает использование как персонажей («игроков»), так и связанных с ними меньших объектов («ракеты»), которые имеют один и тот же цвет. В более ранних Atari 2600 и некоторых аркадных играх Atari в качестве спрайтов использовались также игрок , ракета и мяч .
Блок подвижных объектов , или MOB , использовался влитературе по графическимчипам MOS Technology (технические описания и т. Д.). Однако Commodore , основной пользователь MOS-чипов и владелец MOS на протяжении большей части срока службы производителя чипов, использовал этот термин спрайт для Commodore 64.
В руководствах для разработчиков Nintendo Entertainment System , Super NES и Game Boy спрайты называются OBJ (сокращение от «объекты»), а область ОЗУ, используемая для хранения атрибутов и координат спрайтов, была известна как OAM (память атрибутов объектов). . Это также относится к портативным системам Game Boy Advance и Nintendo DS .
См. Также [ править ]
- 2.5D
- Слои (редактирование цифровых изображений)
Ссылки [ править ]
- ^ Джонстон, Боб (2003). Не обращайте внимания на ноутбуки: дети, компьютеры и трансформация обучения . п. 108. ISBN 978-0595288427.
- ^ a b Гаага, Джеймс. «Почему существуют специальные игровые приставки?» . Программирование в 21 веке .
- ^ Видео игры Firsts , Историк Golden Age Аркада (22 ноября 2013)
- ^ Баскетбольный флаер (1974), Музей аркадных флаеров
- ↑ Райт, Стив (3 декабря 1979 г.). «Руководство программиста Стеллы» (PDF) .
- ↑ Диллон, Роберто (19 апреля 2016 г.). Золотой век видеоигр: рождение многомиллиардной индустрии . CRC Press. ISBN 9781439873243 - через Google Книги.
- ↑ Превращение Famicom в реальность , Nikkei Electronics (12 сентября 1994 г.)
- ^ Стив Голсон (2016). Постмортем из классической игры: «Мисс. Pac-Man '(Конференция). Конференция разработчиков игр . Событие происходит в 20:30 . Проверено 26 января 2017 .
[…] 6 движущихся персонажей, которых сегодня вы бы назвали «спрайтами», тогда мы называли их «штампами», […].
- ^ "Конференция Карла Гуттага по Delphi TI Net - comp.sys.ti | Группы Google" . Проверено 29 ноября 2009 .
- ^ "Плюс - CPCWiki" . Cpcwiki.eu . Проверено 29 ноября 2009 .
- ^ "Адаптер телевизионного интерфейса" . AtariArchives.com . Проверено 6 февраля 2011 .
- ^ «Часто задаваемые вопросы по Atari 5200 - Обзор оборудования» . AtariHQ.com . Проверено 6 февраля 2011 .
- ^ "Видеоконтроллер MOS 6567/6569 (VIC-II) и его применение в Commodore 64" . Архивировано 30 августа 2006 года . Проверено 8 января 2006 .CS1 maint: bot: original URL status unknown (link)
- ^ "Справочное руководство по аппаратному обеспечению Amiga 4: аппаратное обеспечение спрайтов" . 1989 г.
- ^ «Технические характеристики Gameduino» . excamera.com.
- ^ "STIC - Intellivision Wiki" . wiki.intellivision.us . Проверено 15 марта 2018 года .
- ^ TEXAS INSTRUMENTS 9900: TMS9918A / TMS9928AITMS9929A Video Display Processors (PDF) . Проверено 5 июля 2011 .
- ^ Монфор, Ник; Богост, Ян (9 января 2009 г.). Гонка за лучом: компьютерная система видео Atari . MIT Press. ISBN 9780262261524 - через Google Книги.
- ^ "Видеооборудование, полученное из галактики" . GitHub . МАМЕ . Проверено 23 октября 2018 года .
- ^ "Аппаратное обеспечение, полученное из галактики" . GitHub . МАМЕ . Проверено 23 октября 2018 года .
- ^ "Аппаратное семейство Galaxian" . GitHub . МАМЕ . Проверено 23 октября 2018 года .
- ^ Nathan Altice (2015), I Am Error: Nintendo Family Computer / Entertainment System Platform , страницы 53 и 69 , MIT Press
- ^ «Технические характеристики» . Nocash.emubase.de. Архивировано из оригинала на 2009-06-21 . Проверено 29 ноября 2009 .
- ^ «Microsoft Word - NESDoc.doc» (PDF) . Проверено 29 ноября 2009 .
- ^ "GameBoy - Spielkonsolen Online Lexikon" . At-mix.de. 2004-06-22 . Проверено 29 ноября 2009 .
- ^ «Технические характеристики» . Nocash.emubase.de. Архивировано из оригинала на 2009-06-21 . Проверено 29 ноября 2009 .
- ^ Чарльз Макдональд. «Документация Sega Master System VDP» . Архивировано из оригинала на 2014-03-18 . Проверено 5 июля 2011 .
- ^ "Техническая информация о системе Sega Master" (TXT) . Smspower.org . Проверено 28 ноября 2016 .
- ^ "Часто задаваемые вопросы по программированию Sega, 18 октября 1995 г., шестое издание - последнее" . Архивировано из оригинала 22 января 2005 года . Проверено 10 декабря 2015 .
- ^ Персонал, Многоугольник (2015-02-03). «Как Sega построила Genesis» . Многоугольник . Проверено 28 ноября 2016 .
- ^ «Sega Out Run Hardware (Sega)» . Система 16. 2016-03-31 . Проверено 28 ноября 2016 .
- ^ "mame / segaorun.c на master · mamedev / mame · GitHub" . github.com . 21 ноября 2014. Архивировано из оригинала 21 ноября 2014 года . Проверено 15 марта 2018 года .
- ^ "Беги" . 27 февраля 2001 г. Архивировано из оригинала на 2001-02-27 . Проверено 28 ноября 2016 .
- ^ «Out Run Hardware (Sega)» . Система 16 . Проверено 29 ноября 2009 .
- ^ "Версия 0.3 - 7 февраля 1998 г." . Coinop.org . Проверено 28 ноября 2016 .
- ^ "Архивная копия" . Архивировано из оригинала на 2016-01-25 . Проверено 9 февраля 2016 .CS1 maint: archived copy as title (link)
- ^ "Примечания к оборудованию Sega" X-Board " . Архивировано из оригинального (TXT) 18 марта 2014 года . Проверено 28 ноября 2016 .
- ^ "X68000-Компьютерный музей" . Museum.ipsj.or.jp . Проверено 28 ноября 2016 .
- ^ "mame / x68k.c на master · mamedev / mame · GitHub" . github.com . 21 ноября 2014. Архивировано из оригинала 21 ноября 2014 года . Проверено 15 марта 2018 года .
- ^ Yoshida, Коичи (12 сентября 2001). «超 連射 68K 開 発 後記» . Интернет-страница Йосина (на японском языке). Архивировано 12 мая 2019 года . Проверено 28 ноября 2016 .( Перевод Shmuplations. Архивировано 2 июля 2019 года в Wayback Machine ).
- ^ "Примечания к оборудованию Neo-Geo MVS" (TXT) . Furrtek.free.fr . Проверено 28 ноября 2016 .
- ^ "Руководство по программированию Neo-Geo" (PDF) . Furrtek.free.fr . Проверено 28 ноября 2016 .
- ^ «Большой список отладочных переключателей» . Нео-Гео. 2014-07-09 . Проверено 28 ноября 2016 .
- ^ "GPU Gems NVIDIA Developer" .
- ^ "Де Ре Атари" . 1981 г.