2D-растровое изображение отображается поверх более крупной сцены.
В компьютерной графике спрайт — это двухмерное растровое изображение , интегрированное в более крупную сцену, чаще всего в 2D - видеоигре . Первоначально термин «спрайт» относился к объектам фиксированного размера, объединенным аппаратно с фоном. [1] С тех пор этот термин стал более общим.
Аппаратная композиция спрайтов происходит по мере подготовки каждой строки развертки для устройства вывода видео, например электронно-лучевой трубки , без участия основного процессора и без необходимости полноэкранного буфера кадров . [1] Спрайты можно позиционировать или изменять, устанавливая атрибуты, используемые в процессе компоновки оборудования. Количество спрайтов, которые могут отображаться в каждой строке сканирования, часто меньше общего количества спрайтов, поддерживаемых системой. Например, чип Texas Instruments TMS9918 поддерживает 32 спрайта, но в одной строке развертки могут находиться только 4.
Процессоры современных компьютеров, игровых консолей и мобильных устройств достаточно быстры, поэтому растровые изображения можно помещать в буфер кадров без специальной аппаратной поддержки. Помимо этого, графические процессоры могут отображать огромное количество масштабированных, повернутых, сглаженных, частично полупрозрачных изображений очень высокого разрешения параллельно с процессором.
Этимология
По словам Карла Гуттага, одного из двух инженеров процессора видеодисплея Texas Instruments TMS9918 1979 года , слово « спрайт» использовал Дэвид Экли, менеджер TI. [2] Его также использовал Дэнни Хиллис из Texas Instruments в конце 1970-х годов. [3] Этот термин произошел от того факта, что спрайты «плавают» поверх фонового изображения, не перезаписывая его, во многом подобно призраку или мифологическому спрайту .
Некоторые производители оборудования использовали другие термины, особенно до того, как спрайты стали обычным явлением:
Player/Missile Graphics — термин, используемый Atari, Inc. для обозначения аппаратных спрайтов на 8-битных компьютерах Atari (1979 г.) и консоли Atari 5200 (1982 г.). [4] Этот термин отражает использование как персонажей («игроков»), так и более мелких связанных с ними объектов («ракет»), имеющих один и тот же цвет. Более ранняя видеокомпьютерная система Atari и некоторые аркадные игры Atari использовали игрока , ракету и мяч .
Stamp использовался в некоторых игровых автоматах в начале 1980-х годов, включая Ms. Pac-Man . [5]
Movable Object Block , или MOB , использовался в литературе по графическим чипам MOS Technology . Commodore , основной пользователь MOS-чипов и владелец MOS на протяжении большей части жизни производителя чипов, вместо этого использовал термин «спрайт» для Commodore 64.
OBJ s (сокращение от Objects ) используется в руководствах разработчиков для NES , Super NES и Game Boy . Область видеоОЗУ , используемая для хранения атрибутов и координат спрайтов, называется OAM (память атрибутов объекта). Это также относится к Game Boy Advance и Nintendo DS .
История
Аркадные видеоигры
Использование спрайтов зародилось в аркадных видеоиграх . Нолан Бушнелл придумал оригинальную концепцию, когда разработал первую аркадную видеоигру Computer Space (1971). Технические ограничения затруднили адаптацию ранней игры Spacewar! для мэйнфреймов ! (1962), который выполнял полное обновление экрана при каждом небольшом движении, поэтому он придумал решение проблемы: управление каждым отдельным игровым элементом с помощью специального транзистора . Ракеты представляли собой, по сути, жестко закрепленные растровые изображения , которые перемещались по экрану независимо от фона, что было важным нововведением для более эффективного создания экранных изображений и обеспечения основы для спрайтовой графики. [6]
Самыми ранними видеоиграми, в которых персонажи игроков представлялись в виде спрайтов-людей, были аркадные спортивные видеоигры , начиная с TV Basketball от Taito , [7] [8] [9], выпущенного в апреле 1974 года и лицензированного Midway Manufacturing для выпуска в Северной Америке. [10] Разработанный Томохиро Нисикадо , он хотел выйти за рамки простых прямоугольников в стиле Pong и перейти к графике персонажей, переставив прямоугольные формы в объекты, похожие на баскетболистов и баскетбольные кольца . [11] [12] В октябре 1974 года компания Ramtek выпустила ещё одну спортивную видеоигру — Baseball , [10] в которой также отображались человекоподобные персонажи. [13]
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
Рекомендации
^ аб Гаага, Джеймс. «Почему существуют специальные игровые консоли?». Программирование в XXI веке . Архивировано из оригинала 23 апреля 2018 г. Проверено 2 сентября 2019 г.
↑ Гуттаг, Карл (6 декабря 2011 г.). «Во-первых, будьте полезны (домашние компьютеры и пикопроекторы)». КГОнТех .
^ Джонстон, Боб (2003). Не говоря уже о ноутбуках: дети, компьютеры и трансформация обучения. iUniverse. п. 108. ИСБН978-0595288427.
^ "Де Ре Атари". 1981. Архивировано из оригинала 31 июля 2017 г. Проверено 10 августа 2017 г.
^ аб Стив Голсон (2016). Посмертное описание классической игры: «Ms. Pac-Man' (Конференция). Конференция разработчиков игр . Событие происходит в 20:30 . Проверено 26 января 2017 г. […] 6 движущихся персонажей, которые сегодня вы бы назвали «спрайтами», тогда мы называли их «штампами», […].
^ Суолвелл, Мелани; Уилсон, Джейсон (12 мая 2015 г.). Удовольствия от компьютерных игр: очерки по истории культуры, теории и эстетике. МакФарланд и компания . стр. 109–10. ISBN978-0-7864-5120-3. Архивировано из оригинала 16 мая 2021 года . Проверено 16 мая 2021 г.
^ Колби, Ричард; Джонсон, Мэтью СС; Колби, Ребекка Шульц (27 января 2021 г.). Этика игр, исследований и преподавания игр в классе письма. Спрингер Природа . п. 130. ИСБН978-3-030-63311-0. Архивировано из оригинала 3 мая 2021 года . Проверено 3 мая 2021 г.
↑ Впервые в видеоиграх. Архивировано 5 ноября 2017 г. в Wayback Machine , The Golden Age Arcade Historian (22 ноября 2013 г.).
↑ Баскетбольный флаер. Архивировано 8 июля 2014 г. в Wayback Machine (1974), Музей аркадных флаеров.
↑ Аб Акаги, Масуми (13 октября 2006 г.).アーケードTVゲームリスト国内•海外編(1971-2005) [ Список аркадных телеигр: внутреннее • зарубежное издание (1971-2005) ] (на японском языке). Япония: Агентство новостей развлечений. стр. 40–1, 51, 129. ISBN.978-4990251215.
↑ Смит, Александр (19 ноября 2019 г.). Они создают миры: история людей и компаний, которые сформировали индустрию видеоигр, Том. Я: 1971-1982 гг. ЦРК Пресс . стр. 191–95. ISBN978-0-429-75261-2. Архивировано из оригинала 2 мая 2021 года . Проверено 16 мая 2021 г.
Ссылки長対談» [Space Invader, секретная история разработки раскрыта — интервью с разработчиком Томохиро Нисикадо, президентом Taito Йоичи Вада]. Никкей (на японском языке). 21 марта 2008 года. Архивировано из оригинала 23 марта 2008 года . Проверено 3 мая 2021 г.
«Space Invaders - Интервью с разработчиком, посвященное 30-летию». Шмуплитации .
^ Торп, Ник (март 2014 г.). «70-е годы: генезис индустрии». Ретро-геймер . № 127. С. 24–7.
↑ Диллон, Роберто (19 апреля 2016 г.). Золотой век видеоигр: рождение многомиллиардной индустрии. ЦРК Пресс. ISBN9781439873243– через Google Книги.
↑ Делая Famicom реальностью, Nikkei Electronics (12 сентября 1994 г.)
↑ Райт, Стив (3 декабря 1979 г.). «Руководство программиста Stella» (PDF) . Архивировано (PDF) из оригинала 27 марта 2016 г. Проверено 14 апреля 2016 г.
^ "Плюс - CPCWiki" . Cpcwiki.eu. Архивировано из оригинала 20 июля 2011 г. Проверено 29 ноября 2009 г.
^ «Адаптер телевизионного интерфейса» . AtariArchives.com. Архивировано из оригинала 25 августа 2010 г. Проверено 6 февраля 2011 г.
^ «Часто задаваемые вопросы по Atari 5200 — Обзор оборудования» . AtariHQ.com. Архивировано из оригинала 14 мая 2011 г. Проверено 6 февраля 2011 г.
^ «Видеоконтроллер MOS 6567/6569 (VIC-II) и его применение в Commodore 64» . Архивировано из оригинала 30 августа 2006 года . Проверено 8 января 2006 г.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
^ «Справочное руководство по оборудованию Amiga 4: спрайтовое оборудование» . 1989. Архивировано из оригинала 14 августа 2017 г. Проверено 23 мая 2017 г.
^ «Спецификации Gameduino» . excamera.com. Архивировано из оригинала 13 декабря 2021 г. Проверено 13 июня 2011 г.
^ "STIC - Intellivision Wiki" . wiki.intellivision.us . Архивировано из оригинала 9 июля 2018 года . Проверено 15 марта 2018 г.
^ TEXAS INSTRUMENTS 9900: Процессоры видеодисплея TMS9918A/TMS9928AITMS9929A (PDF) . Архивировано из оригинала (PDF) 14 августа 2017 г. Проверено 5 июля 2011 г.
^ Монфор, Ник; Богост, Ян (9 января 2009 г.). Гонки на луче: видеокомпьютерная система Atari. МТИ Пресс. ISBN9780262261524– через Google Книги.
^ «Изучите программирование на многоплатформенном ассемблере 6502... Для монстров! Серия для конкретной платформы» . Архивировано из оригинала 4 декабря 2021 г. Проверено 4 декабря 2021 г.
^ "Видеооборудование на базе Galaxian" . Гитхаб . МАМЕ . Архивировано из оригинала 30 ноября 2017 года . Проверено 23 октября 2018 г.
^ "Аппаратное обеспечение на базе Galaxian" . Гитхаб . МАМЕ . Архивировано из оригинала 5 сентября 2018 года . Проверено 23 октября 2018 г.
^ "Семейство оборудования Galaxian" . Гитхаб . МАМЕ . Архивировано из оригинала 24 февраля 2021 года . Проверено 23 октября 2018 г.
^ Натан Алтис (2015), «Я ошибка: платформа семейного компьютера/развлекательной системы Nintendo», страницы 53 и 69. Архивировано 12 ноября 2016 г. в Wayback Machine , MIT Press.
^ «Технические характеристики». Nocash.emubase.de. Архивировано из оригинала 21 июня 2009 г. Проверено 29 ноября 2009 г.
^ «Microsoft Word — NESDoc.doc» (PDF) . Архивировано (PDF) из оригинала 30 сентября 2011 г. Проверено 29 ноября 2009 г.
^ "GameBoy - Интернет-лексикон Spielkonsolen" . На сайте mix.de. 22 июня 2004 г. Архивировано из оригинала 6 мая 2010 г. Проверено 29 ноября 2009 г.
^ «Технические характеристики». Nocash.emubase.de. Архивировано из оригинала 21 июня 2009 г. Проверено 29 ноября 2009 г.
^ Чарльз Макдональд. «Документация Sega Master System VDP». Архивировано из оригинала 18 марта 2014 г. Проверено 5 июля 2011 г.
^ «Техническая информация о системе Sega Master» (TXT) . Smspower.org . Архивировано из оригинала 24 июня 2019 г. Проверено 28 ноября 2016 г.
^ «Часто задаваемые вопросы по программированию Sega, 18 октября 1995 г., шестое издание - последнее» . Архивировано из оригинала 22 января 2005 года . Проверено 10 декабря 2015 г.
^ Персонал, Полигон (3 февраля 2015 г.). «Как Sega построила Genesis». Полигон. Архивировано из оригинала 03.11.2015 . Проверено 28 ноября 2016 г.
^ «Оборудование Sega Out Run (Sega)» . Система 16. 31 марта 2016 г. Архивировано из оригинала 28 ноября 2016 г. Проверено 28 ноября 2016 г.
^ «mame/segaorun.c на master · mamedev/mame · GitHub» . github.com . 21 ноября 2014 года. Архивировано из оригинала 21 ноября 2014 года . Проверено 15 марта 2018 г.
^ "Выезд". 27 февраля 2001 г. Архивировано из оригинала 27 февраля 2001 г. Проверено 28 ноября 2016 г.
^ "Оборудование Out Run (Sega)" . Система 16. Архивировано из оригинала 28 ноября 2016 г. Проверено 29 ноября 2009 г.
^ «Версия 0.3 — 7 февраля 1998 г.» . Coinop.org . Архивировано из оригинала 14 мая 2016 г. Проверено 28 ноября 2016 г.
^ «Общее 16-битное оборудование Sega» . Архивировано из оригинала 25 января 2016 г. Проверено 9 февраля 2016 г.
^ "Примечания к оборудованию Sega "X-Board"" . Архивировано из оригинала (TXT) 18 марта 2014 г. Проверено 28 ноября 2016 г.
^ "X68000-Компьютерный музей" . Museum.ipsj.or.jp . Архивировано из оригинала 2 октября 2014 г. Проверено 28 ноября 2016 г.
^ «mame/x68k.c на мастере · mamedev/mame · GitHub» . github.com . 21 ноября 2014 года. Архивировано из оригинала 21 ноября 2014 года . Проверено 15 марта 2018 г.
^ Ёсида, Коичи (12 сентября 2001 г.). «超連射68K 開発後記». Веб-страница Ёсина (на японском языке). Архивировано из оригинала 12 мая 2019 года . Проверено 28 ноября 2016 г.(Перевод Shmuplations. Архивировано 2 июля 2019 г. в Wayback Machine ).
^ "Примечания к оборудованию Neo-Geo MVS" (TXT) . Furrtek.free.fr . Архивировано из оригинала 16 сентября 2018 г. Проверено 28 ноября 2016 г.
^ «Руководство по программированию Neo-Geo» (PDF) . Furrtek.free.fr . Архивировано (PDF) из оригинала 6 декабря 2016 г. Проверено 28 ноября 2016 г.
^ «Большой список переключателей отладки» . Нео-Гео. 09.07.2014. Архивировано из оригинала 28 ноября 2016 г. Проверено 28 ноября 2016 г.
^ "Руководство по проектированию движка спрайтов Snes" . 30 марта 2021 г. Архивировано из оригинала 04 декабря 2021 г.