stringtranslate.com

Спрайт (компьютерная графика)

Спрайты танков и ракет от Broforce

В компьютерной графике спрайт — это двумерное растровое изображение , интегрированное в большую сцену, чаще всего в 2D- видеоигру . Первоначально термин « спрайт» относился к объектам фиксированного размера, скомпонованным вместе с фоном с помощью оборудования. [1] С тех пор использование этого термина стало более общим.

Системы с аппаратными спрайтами включают аркадные видеоигры 1970-х и 1980-х годов; игровые консоли , включая Atari VCS (1977), ColecoVision (1982), Famicom (1983), Genesis/Mega Drive (1988); и домашние компьютеры , такие как TI-99/4 (1979), Atari 8-bit computers (1979), Commodore 64 (1982), MSX (1983), Amiga (1985) и X68000 (1987). Аппаратное обеспечение различается по количеству поддерживаемых спрайтов, размеру и цветам каждого спрайта, а также специальным эффектам, таким как масштабирование или отчет о точном наложении пикселей.

Аппаратная композиция спрайтов происходит по мере подготовки каждой строки развертки для устройства вывода видео, такого как электронно-лучевая трубка , без участия основного ЦП и без необходимости в полноэкранном буфере кадров . [1] Спрайты можно позиционировать или изменять, устанавливая атрибуты, используемые в процессе аппаратной композиции. Количество спрайтов, которые могут быть отображены на строку развертки, часто меньше общего количества спрайтов, поддерживаемых системой. Например, чип Texas Instruments TMS9918 поддерживает 32 спрайта, но только четыре могут отображаться на одной строке развертки.

Процессоры современных компьютеров, игровых приставок и мобильных устройств достаточно быстры, чтобы растровые изображения можно было рисовать в буфере кадров без специальной аппаратной помощи. Кроме того, графические процессоры могут рендерить огромное количество масштабированных, повернутых, сглаженных , частично полупрозрачных изображений с очень высоким разрешением параллельно с процессором.

Этимология

По словам Карла Гуттаг, одного из двух инженеров видеопроцессора Texas Instruments TMS9918 1979 года , такое использование слова «спрайт» пришло от Дэвида Экли, менеджера в TI. [2] Его также использовал Дэнни Хиллис в Texas Instruments в конце 1970-х годов. [3] Термин произошел от того факта, что спрайты «плавают» поверх фонового изображения, не перезаписывая его, подобно призраку или мифологическому спрайту .

Некоторые производители оборудования использовали другие термины, особенно до того, как спрайт стал широко распространенным:

Player/Missile Graphics — термин, используемый Atari, Inc. для аппаратных спрайтов в 8-битных компьютерах Atari (1979) и консоли Atari 5200 (1982). [4] Термин отражает использование как персонажей («игроков»), так и более мелких связанных объектов («ракет»), которые имеют одинаковый цвет. Более ранняя Atari Video Computer System и некоторые аркадные игры Atari использовали player , rocket и ball .

В начале 1980-х годов штамп использовался в некоторых игровых автоматах, включая Ms. Pac-Man . [5]

Термин Movable Object Block ( MOB ) использовался в литературе MOS Technology по графическим чипам. Commodore , основной пользователь чипов MOS и владелец MOS на протяжении большей части жизни производителя чипов, вместо этого использовал термин sprite для Commodore 64.

OBJ s (сокращение от objects ) используется в руководствах разработчиков для NES , Super NES и Game Boy . Область видеопамяти, используемая для хранения атрибутов и координат спрайтов, называется OAM (Object Attribute Memory). Это также применимо к Game Boy Advance и Nintendo DS .

История

Аркадные видеоигры

Использование спрайтов зародилось в аркадных видеоиграх . Нолан Бушнелл придумал оригинальную концепцию, когда разработал первую аркадную видеоигру Computer Space (1971). Технические ограничения затрудняли адаптацию ранней игры для мэйнфреймов Spacewar! (1962), которая выполняла полное обновление экрана для каждого небольшого движения, поэтому он придумал решение проблемы: управление каждым отдельным элементом игры с помощью выделенного транзистора . Ракеты по сути были жестко зашитыми растровыми изображениями , которые перемещались по экрану независимо от фона, что было важным нововведением для более эффективного создания экранных изображений и обеспечения основы для спрайтовой графики. [6]

Первые видеоигры, в которых персонажи игроков представлялись в виде спрайтов людей-игроков, были аркадными спортивными видеоиграми , начиная с TV Basketball от Taito , [7] [8] [9], выпущенного в апреле 1974 года и лицензированного Midway Manufacturing для выпуска в Северной Америке. [10] Разработанный Томохиро Нишикадо , он хотел выйти за рамки простых прямоугольников в стиле Pong и перейти к графике персонажей, перестраивая прямоугольные формы в объекты, которые выглядели как баскетболисты и баскетбольные кольца . [11] [12] Ramtek выпустила еще одну спортивную видеоигру в октябре 1974 года, Baseball , [10] в которой аналогичным образом отображались человекоподобные персонажи. [13]

Плата игровой системы Namco Galaxian для аркадной игры Galaxian 1979 года отображает анимированные разноцветные спрайты на прокручивающемся фоне. [14] Она стала основой для игровых приставок Radar Scope и Donkey Kong от Nintendo , а также домашних консолей , таких как Nintendo Entertainment System . [15] По словам Стива Голсона из General Computer Corporation , в то время вместо слова «спрайт» использовался термин «штамп». [5]

Домашние системы

Signetics разработала первые чипы, способные генерировать спрайтовую графику (называемые Signetics объектами ) для домашних систем. Видеопроцессоры Signetics 2636 впервые были использованы в 1978 году в 1292 Advanced Programmable Video System , а затем в 1979 году в Elektor TV Games Computer .

Atari VCS , выпущенная в 1977 году, имела аппаратную реализацию спрайта, в которой пять графических объектов можно было перемещать независимо от игрового поля. Термин «спрайт» в то время не использовался. В руководстве по программированию спрайты VCS называются подвижными объектами , далее они обозначаются как два игрока , две ракеты и один мяч . [16] Каждый из них состоит из одной строки пикселей, которые отображаются на строке развертки . Для создания двумерной формы однострочная битовая карта спрайта изменяется программным обеспечением от одной строки развертки к другой.

Домашние компьютеры Atari 400 и 800 1979 года имели похожую, но более сложную схему, способную перемещать восемь одноцветных объектов на строку развертки: четыре 8-битных игрока и четыре 2-битных ракеты . Каждая занимает всю высоту дисплея — длинную тонкую полосу. DMA из таблицы в памяти автоматически устанавливает регистры графических шаблонов для каждой строки развертки. Аппаратные регистры управляют горизонтальным положением каждого игрока и ракеты. Вертикальное перемещение достигается путем перемещения данных растрового изображения в полосе игрока или ракеты. Эта функция была названа Atari графикой игрока/ракеты .

Компания Texas Instruments разработала чип TMS9918 с поддержкой спрайтов для своего домашнего компьютера TI-99/4 1979 года. Обновленная версия используется в TI-99/4A 1981 года .

В 2.5D и 3D играх

Взаимодействие игрока со спрайтами в 2.5D игре

Спрайты оставались популярными с появлением 2.5D- игр (тех, которые воссоздают трехмерное игровое пространство из двухмерной карты) в конце 1980-х и начале 1990-х годов. Техника, называемая billboarding , позволяет 2.5D-играм постоянно держать экранные спрайты повернутыми в сторону взгляда игрока. Некоторые 2.5D-игры, такие как Doom 1993 года , позволяют представлять одну и ту же сущность разными спрайтами в зависимости от ее поворота относительно зрителя, усиливая иллюзию трехмерности.

Полностью 3D-игры обычно представляют объекты мира в виде 3D-моделей , но спрайты поддерживаются в некоторых 3D- игровых движках , таких как GoldSrc [17] и Unreal [18] , и могут быть привязаны к фиксированным ориентациям. Спрайты остаются полезными для мелких деталей, эффектов частиц и других приложений, где отсутствие третьего измерения не является серьезным недостатком.

Системы с аппаратными спрайтами

Это базовые характеристики оборудования, которые не включают в себя дополнительные методы программирования, такие как использование растровых прерываний для повторного использования спрайтов в середине кадра.

Смотрите также

Ссылки

  1. ^ ab Hague, James. "Why Do Dedicated Game Consoles Exist?". Программирование в 21 веке . Архивировано из оригинала 2018-04-23 . Получено 2019-09-02 .
  2. ^ Гуттаг, Карл (6 декабря 2011 г.). «Сначала будьте полезны (домашние компьютеры и пикопроекторы)». KGOnTech .
  3. ^ Джонстон, Боб (2003). Никогда не беспокойтесь о ноутбуках: дети, компьютеры и трансформация обучения. iUniverse. стр. 108. ISBN 978-0595288427.
  4. ^ "De Re Atari". 1981. Архивировано из оригинала 2017-07-31 . Получено 2017-08-10 .
  5. ^ ab Steve Golson (2016). Classic Game Postmortem: 'Ms. Pac-Man' (конференция). Game Developers Conference . Событие происходит в 20:30 . Получено 2017-01-26 . […] 6 движущихся персонажей, то, что вы сегодня назвали бы «спрайтами», тогда мы называли их «штампами», […].
  6. ^ Swalwell, Melanie; Wilson, Jason (12 мая 2015 г.). Удовольствия от компьютерных игр: очерки по культурной истории, теории и эстетике. McFarland & Company . стр. 109–10. ISBN 978-0-7864-5120-3. Архивировано из оригинала 16 мая 2021 г. . Получено 16 мая 2021 г. .
  7. ^ Колби, Ричард; Джонсон, Мэтью СС; Колби, Ребекка Шульц (27 января 2021 г.). Этика игры, исследования и преподавания игр в классе письма. Springer Nature . стр. 130. ISBN 978-3-030-63311-0. Архивировано из оригинала 3 мая 2021 г. . Получено 3 мая 2021 г. .
  8. Видеоигры Firsts Архивировано 2017-11-05 в Wayback Machine , The Golden Age Arcade Historian (22 ноября 2013 г.)
  9. Баскетбольная листовка. Архивировано 08.07.2014 в Wayback Machine (1974), Музей игровых автоматов.
  10. ↑ Аб Акаги, Масуми (13 октября 2006 г.). アーケードTVゲームリスト国内•海外編(1971-2005) [ Список аркадных телеигр: внутреннее • зарубежное издание (1971-2005) ] (на японском языке). Япония: Агентство новостей развлечений. стр. 40–1, 51, 129. ISBN. 978-4990251215.
  11. ^ Смит, Александр (19 ноября 2019 г.). Они создают миры: история людей и компаний, которые сформировали индустрию видеоигр, т. I: 1971-1982. CRC Press . стр. 191–95. ISBN 978-0-429-75261-2. Архивировано из оригинала 2 мая 2021 г. . Получено 16 мая 2021 г. .
  12. Ссылки社長対談» [ Space Invader, секретная история разработки раскрыта — интервью с разработчиком Томохиро Нисикадо, президентом Taito Йоичи Вада]. Никкей (на японском языке). 21 марта 2008 года. Архивировано из оригинала 23 марта 2008 года . Проверено 3 мая 2021 г.
    • "Space Invaders – Интервью с разработчиками в честь 30-летия". Shmuplations .
  13. ^ Торп, Ник (март 2014). «70-е: зарождение индустрии». Retro Gamer . № 127. С. 24–7.
  14. ^ Диллон, Роберто (19 апреля 2016 г.). Золотой век видеоигр: рождение многомиллиардной индустрии. CRC Press. ISBN 9781439873243– через Google Книги.
  15. Делаем Famicom реальностью, Nikkei Electronics (12 сентября 1994 г.)
  16. Райт, Стив (3 декабря 1979 г.). "Stella Programmer's Guide" (PDF) . Архивировано (PDF) из оригинала 27 марта 2016 г. . Получено 14 апреля 2016 г. .
  17. ^ "GoldSrc Sprite Tutorial". the303.org . Получено 26 сентября 2024 г. .
  18. ^ "Как импортировать и использовать бумажные 2D-спрайты в Unreal Engine". epicgames.com . Epic Games . Получено 31 октября 2024 г. .
  19. ^ "Plus - CPCWiki". Cpcwiki.eu. Архивировано из оригинала 2011-07-20 . Получено 2009-11-29 .
  20. ^ "Television Interface Adaptor". AtariArchives.com. Архивировано из оригинала 2010-08-25 . Получено 2011-02-06 .
  21. ^ "Atari 5200 FAQ - Обзор оборудования". AtariHQ.com. Архивировано из оригинала 2011-05-14 . Получено 2011-02-06 .
  22. ^ "Видеоконтроллер MOS 6567/6569 (VIC-II) и его применение в Commodore 64". Архивировано из оригинала 30 августа 2006 года . Получено 2006-01-08 .{{cite web}}: CS1 maint: бот: исходный статус URL неизвестен ( ссылка )
  23. ^ "Amiga Hardware Reference Manual 4: sprite hardware". 1989. Архивировано из оригинала 2017-08-14 . Получено 2017-05-23 .
  24. ^ "Gameduino Specifications". excamera.com. Архивировано из оригинала 2021-12-13 . Получено 2011-06-13 .
  25. ^ "STIC - Intellivision Wiki". wiki.intellivision.us . Архивировано из оригинала 9 июля 2018 года . Получено 15 марта 2018 года .
  26. ^ TEXAS INSTRUMENTS 9900: TMS9918A/TMS9928AITMS9929A ​​Видеодисплейные процессоры (PDF) . Архивировано из оригинала (PDF) 2017-08-14 . Получено 2011-07-05 .
  27. Монфор, Ник; Богост, Ян (9 января 2009 г.). Racing the Beam: The Atari Video Computer System. MIT Press. ISBN 9780262261524– через Google Книги.
  28. ^ "Изучите многоплатформенное программирование на ассемблере 6502... Для монстров! Серия для конкретных платформ". Архивировано из оригинала 2021-12-04 . Получено 2021-12-04 .
  29. ^ "Galaxian-derived video hardware". GitHub . MAME . Архивировано из оригинала 30 ноября 2017 г. Получено 23 октября 2018 г.
  30. ^ "Galaxian-derived hardware". GitHub . MAME . Архивировано из оригинала 5 сентября 2018 г. Получено 23 октября 2018 г.
  31. ^ "Galaxian hardware family". GitHub . MAME . Архивировано из оригинала 24 февраля 2021 г. Получено 23 октября 2018 г.
  32. ^ Натан Элтис (2015), Я — ошибка: Семейная компьютерная/развлекательная системная платформа Nintendo, страницы 53 и 69. Архивировано 12 ноября 2016 г. в Wayback Machine , MIT Press.
  33. ^ "Спецификации". Nocash.emubase.de. Архивировано из оригинала 2009-06-21 . Получено 2009-11-29 .
  34. ^ "Microsoft Word - NESDoc.doc" (PDF) . Архивировано (PDF) из оригинала 2011-09-30 . Получено 2009-11-29 .
  35. ^ "GameBoy - Spielkonsolen Online Lexikon". At-mix.de. 2004-06-22. Архивировано из оригинала 2010-05-06 . Получено 2009-11-29 .
  36. ^ "Спецификации". Nocash.emubase.de. Архивировано из оригинала 2009-06-21 . Получено 2009-11-29 .
  37. ^ Чарльз Макдональд. "Sega Master System VDP documentation". Архивировано из оригинала 2014-03-18 . Получено 2011-07-05 .
  38. ^ "Sega Master System Technical Information" (TXT) . Smspower.org . Архивировано из оригинала 2019-06-24 . Получено 2016-11-28 .
  39. ^ "Sega Programming FAQ 18 октября 1995 г., шестое издание - финальное". Архивировано из оригинала 22 января 2005 г. Получено 10 декабря 2015 г.
  40. Сотрудники, Polygon (2015-02-03). «Как Sega построила Genesis». Polygon. Архивировано из оригинала 2015-11-03 . Получено 2016-11-28 .
  41. ^ "Sega Out Run Hardware (Sega)". System 16. 2016-03-31. Архивировано из оригинала 2016-11-28 . Получено 2016-11-28 .
  42. ^ "mame/segaorun.c at master · mamedev/mame · GitHub". github.com . 21 ноября 2014 г. Архивировано из оригинала 21 ноября 2014 г. Получено 15 марта 2018 г.
  43. ^ "Out Run". 2001-02-27. Архивировано из оригинала 2001-02-27 . Получено 2016-11-28 .
  44. ^ "Out Run Hardware (Sega)". System 16. Архивировано из оригинала 2016-11-28 . Получено 2009-11-29 .
  45. ^ "Версия 0.3 - 7 февраля 1998". Coinop.org . Архивировано из оригинала 2016-05-14 . Получено 2016-11-28 .
  46. ^ "Sega 16-bit common hardware". Архивировано из оригинала 2016-01-25 . Получено 2016-02-09 .
  47. ^ "Sega "X-Board" hardware notes". Архивировано из оригинала (TXT) 2014-03-18 . Получено 2016-11-28 .
  48. ^ "X68000-Computer Museum". Museum.ipsj.or.jp . Архивировано из оригинала 2014-10-02 . Получено 2016-11-28 .
  49. ^ "mame/x68k.c at master · mamedev/mame · GitHub". github.com . 21 ноября 2014 г. Архивировано из оригинала 21 ноября 2014 г. Получено 15 марта 2018 г.
  50. ^ Ёсида, Коичи (12 сентября 2001 г.). «超連射68K 開発後記». Веб-страница Ёсина (на японском языке). Архивировано из оригинала 12 мая 2019 года . Проверено 28 ноября 2016 г.(Перевод Shmuplations. Архивировано 02.07.2019 на Wayback Machine ).
  51. ^ "Neo-Geo MVS Hardware Notes" (TXT) . Furrtek.free.fr . Архивировано из оригинала 2018-09-16 . Получено 2016-11-28 .
  52. ^ "Руководство по программированию Neo-Geo" (PDF) . Furrtek.free.fr . Архивировано (PDF) из оригинала 2016-12-06 . Получено 2016-11-28 .
  53. ^ "Большой список отладочных DIP-переключателей". Neo-Geo. 2014-07-09. Архивировано из оригинала 2016-11-28 . Получено 2016-11-28 .
  54. ^ "Руководство по дизайну движка snes sprite". 30 марта 2021 г. Архивировано из оригинала 04.12.2021.