Sprite (компьютерная графика) - Sprite (computer graphics)
В компьютерная графика, а спрайт это двумерный битовая карта который интегрирован в большую сцену, чаще всего в 2D видео игра. Термин впервые был использован Дэнни Хиллис в Texas Instruments в конце 1970-х.[1] Первоначально спрайты относились к объектам фиксированного размера, составленным вместе с помощью оборудования с фоном.[2] С тех пор этот термин стал более общим.
Системы с аппаратными спрайтами включают ТИ-99 / 4А (1979), Семейство 8-битных Atari (1979), Коммодор 64 (1982), Система развлечений Nintendo (1983), Amiga (1985), Sega Genesis (1988), и аркадные игры 1970-х и 1980-х годов. Оборудование различается количеством поддерживаемых спрайтов, количеством, которое может отображаться в каждой строке развертки (часто меньшее число), размером и цветом каждого спрайта, а также специальными эффектами, такими как масштабирование или отчет о перекрытии с точностью до пикселя.
Аппаратная композиция спрайтов происходит по мере того, как каждый линия развертки подготовлен для устройства вывода видео, такого как ЭЛТ, без привлечения основных ЦПУ и без необходимости полноэкранного кадровый буфер.[2] Спрайты можно позиционировать или изменять, задав атрибуты, используемые в процессе композиции оборудования.
Процессоры в современных компьютерах, игровых консолях и мобильных устройствах достаточно быстры, поэтому растровые изображения могут быть составлены без специального аппаратного обеспечения; в качестве альтернативы, современные GPU может выполнять композитинг огромного количества масштабированных, повернутых, сглаженных и частично полупрозрачных изображений параллельно с процессором.
История
Использование спрайтов возникло с аркадные игры. Первая видеоигра, представляющая персонажи игроков как человеческие изображения игроков Taito с Баскетбол, который был лицензирован в феврале 1974 г. Мидуэй, выпуская его как ТВ Баскетбол в Северной Америке.[3][4]
Печатки разработали первые микросхемы, способные генерировать спрайт-графику (называемые объекты by Signetics) для домашних систем. Видеопроцессоры Signetics 2636 впервые были использованы в 1978 г. 1292 Продвинутая программируемая видеосистема а позже в 1979 г. Elektor TV Games Компьютер.
В Atari VCS, выпущенная в 1977 году, включает аппаратную реализацию спрайтов, в которой пять графических объектов можно перемещать независимо от игрового поля. Период, термин спрайт в то время не использовался. Спрайты VCS называются подвижные объекты в руководстве по программированию, далее обозначены как два игроки, два ракеты, и один мяч.[5] Каждый из них состоит из одной строки пикселей, которые отображаются на линия развертки. Чтобы создать двухмерную форму, однорядное растровое изображение спрайта изменяется программным обеспечением от одной строки развертки к другой.
1979 год Atari 400 и 800 домашние компьютеры имеют аналогичную, но более сложную схему, способную перемещать восемь одноцветных объектов на строку сканирования: четыре 8-битных игроки и четыре 2-битных ракеты. Каждая - это длинная тонкая полоска во всю высоту дисплея. DMA из таблицы в памяти автоматически устанавливает регистры графического шаблона для каждой строки развертки. Аппаратные регистры контролируют горизонтальное положение каждого игрока и ракеты. Вертикальное движение достигается за счет перемещения данных растрового изображения в пределах полосы игрока или ракеты. Функция была названа графика игрока / ракеты компании Atari.
В Намко Галаксиан системная плата аркады, для аркадной игры 1979 года Галактика, показанные анимированные, разноцветные спрайты.[6] Он впервые создал систему спрайтов, которая анимировала предварительно загруженные спрайты на прокрутка фон, ставший основой для Nintendo с Радиолокационный прицел и Осел Конг аркадное оборудование и домашние консоли такой как Система развлечений Nintendo.[7] По словам Стива Голсона из General Computer Corporation в то время вместо слова «спрайт» использовался термин «штамп».[8]
Период, термин спрайт впервые был использован в графическом смысле одним из разработчиков Инструменты Техаса 9918 (А) процессор видеодисплея (VDP).[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 /АНТИК | 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 плиточный слой | да | Цветовой ключ | |
Намко Галаксиан (аркада ) | TTL | 1979 | 7 | 7 | 112 | 16 | 16 | 3 | Нет | Горизонтальное и вертикальное зеркальное отображение | 1 плиточный слой | Нет | Цветовой ключ | [19][20][21] |
Nintendo Осел Конг, Радиолокационный прицел (аркада) | 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] |
Супер РЭШ / Супер 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 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Некоторые производители оборудования использовали другие термины, кроме спрайт.
Графика игрока / ракеты был термин, используемый Atari, Inc. для аппаратно сгенерированных спрайтов в 8-битные компьютеры Atari и Atari 5200 консоль.[45] Термин отражает использование как персонажей («игроки»), так и связанных с ними меньших объектов («ракеты»), которые имеют один и тот же цвет. Ранее Atari 2600 и некоторые аркадные игры Atari также использовали игрок, ракета, и мяч для спрайтов.
Блок подвижных объектов, или же MOB, использовался в Технология MOS литература по графическим чипам (спецификации и т. д.). Коммодор, основной пользователь МОП-микросхем и владелец МОП на протяжении большей части срока службы производителя микросхем, использовал термин спрайт для Commodore 64.
Руководства разработчика для Система развлечений Nintendo, Супер РЭШ, и Геймбой называют спрайты OBJs (сокращение от «объекты»), а область ОЗУ, используемая для хранения атрибутов и координат спрайта, была известна как OAM (Память атрибутов объекта). Это также относится к Game Boy Advance и Nintendo DS портативные системы.
Смотрите также
Рекомендации
- ^ Джонстон, Боб (2003). Не обращайте внимания на ноутбуки: дети, компьютеры и трансформация обучения. п. 108. ISBN 978-0595288427.
- ^ а б Гаага, Джеймс. «Почему существуют специальные игровые приставки?». Программирование в 21 веке.
- ^ Впервые в видеоиграх, The Golden Age Arcade Historian (22 ноября 2013 г.)
- ^ Баскетбол Рекламный проспект (1974), Музей аркадных флаеров
- ^ Райт, Стив (3 декабря 1979 г.). "Руководство программиста Стеллы" (PDF).
- ^ Диллон, Роберто (19 апреля 2016 г.). Золотой век видеоигр: рождение многомиллиардной индустрии. CRC Press. ISBN 9781439873243 - через Google Книги.
- ^ Превратить Famicom в реальность, Nikkei Electronics (12 сентября 1994 г.)
- ^ Стив Голсон (2016). Постмортем классической игры: «Мисс. Pac-Man ' (Конференция). Конференция разработчиков игр. Событие происходит в 20:30. Получено 2017-01-26.
[…] 6 движущихся персонажей, которых сегодня вы бы назвали «спрайтами», тогда мы называли их «штампами» […].
- ^ "Конференция Карла Гуттага по Delphi TI Net - comp.sys.ti | Группы Google". Получено 2009-11-29.
- ^ «Плюс - CPCWiki». Cpcwiki.eu. Получено 2009-11-29.
- ^ «Адаптер телевизионного интерфейса». AtariArchives.com. Получено 2011-02-06.
- ^ «Часто задаваемые вопросы по Atari 5200 - Обзор оборудования». AtariHQ.com. Получено 2011-02-06.
- ^ «Видеоконтроллер MOS 6567/6569 (VIC-II) и его применение в Commodore 64». Архивировано 30 августа 2006 года.. Получено 2006-01-08.CS1 maint: BOT: статус исходного URL-адреса неизвестен (связь)
- ^ "Справочное руководство по аппаратному обеспечению Amiga 4: оборудование для спрайтов". 1989.
- ^ «Характеристики Gameduino». excamera.com.
- ^ «STIC - Intellivision Wiki». wiki.intellivision.us. Получено 15 марта 2018.
- ^ TEXAS INSTRUMENTS 9900: TMS9918A / TMS9928AITMS9929A Видеопроцессоры (PDF). Получено 2011-07-05.
- ^ Монфор, Ник; Богост, Ян (9 января 2009 г.). Racing the Beam: компьютерная видеосистема Atari. MIT Press. ISBN 9780262261524 - через Google Книги.
- ^ "Видеооборудование, полученное из галактики". GitHub. МАМЕ. Получено 23 октября, 2018.
- ^ "Аппаратное обеспечение галактического происхождения". GitHub. МАМЕ. Получено 23 октября, 2018.
- ^ «Аппаратное семейство Galaxian». GitHub. МАМЕ. Получено 23 октября, 2018.
- ^ Натан Алтис (2015), Я ошибка: компьютерная / развлекательная платформа семейства Nintendo, страницы 53 и 69, MIT Press
- ^ "Характеристики". Nocash.emubase.de. Архивировано из оригинал на 2009-06-21. Получено 2009-11-29.
- ^ «Microsoft Word - NESDoc.doc» (PDF). Получено 2009-11-29.
- ^ "GameBoy - Spielkonsolen Online Lexikon". At-mix.de. 2004-06-22. Получено 2009-11-29.
- ^ "Характеристики". Nocash.emubase.de. Архивировано из оригинал на 2009-06-21. Получено 2009-11-29.
- ^ Чарльз Макдональд. «Документация Sega Master System VDP». Архивировано из оригинал на 2014-03-18. Получено 2011-07-05.
- ^ «Техническая информация о системе Sega Master» (ТЕКСТ). Smspower.org. Получено 2016-11-28.
- ^ "Sega Programming FAQ 18 октября 1995 г., шестое издание - последнее". Архивировано из оригинал 22 января 2005 г.. Получено 2015-12-10.
- ^ Персонал, Polygon (03.02.2015). «Как Sega построила Genesis». Многоугольник. Получено 2016-11-28.
- ^ «Sega Out Run Hardware (Sega)». Система 16. 2016-03-31. Получено 2016-11-28.
- ^ "mame / segaorun.c на master · mamedev / mame · GitHub". github.com. 21 ноября 2014. Архивировано с оригинал 21 ноября 2014 г.. Получено 15 марта 2018.
- ^ "Беги". 27 февраля 2001 г. Архивировано из оригинал на 2001-02-27. Получено 2016-11-28.
- ^ "Out Run Hardware (Sega)". Система 16. Получено 2009-11-29.
- ^ "Версия 0.3 - 7 февраля 1998 г.". Coinop.org. Получено 2016-11-28.
- ^ «Архивная копия». Архивировано из оригинал на 2016-01-25. Получено 2016-02-09.CS1 maint: заархивированная копия как заголовок (связь)
- ^ "Примечания к аппаратному обеспечению Sega" X-Board ". Архивировано из оригинал (ТЕКСТ) на 2014-03-18. Получено 2016-11-28.
- ^ «X68000-Компьютерный музей». Museum.ipsj.or.jp. Получено 2016-11-28.
- ^ "mame / x68k.c на master · mamedev / mame · GitHub". github.com. 21 ноября 2014. Архивировано с оригинал 21 ноября 2014 г.. Получено 15 марта 2018.
- ^ Ёсида, Коичи (12 сентября 2001 г.). "超 連射 68K 開 発 後記". Интернет-страница Йосина (на японском языке). В архиве с оригинала 12 мая 2019 г.. Получено 2016-11-28. (Перевод пользователя Shmuplations. В архиве 2019-07-02 в Wayback Machine ).
- ^ «Примечания к оборудованию Neo-Geo MVS» (ТЕКСТ). Furrtek.free.fr. Получено 2016-11-28.
- ^ "Руководство по программированию в Neo-Geo" (PDF). Furrtek.free.fr. Получено 2016-11-28.
- ^ «Большой список отладочных переключателей». Нео-Гео. 2014-07-09. Получено 2016-11-28.
- ^ "GPU Gems NVIDIA Developer".
- ^ "Де Ре Атари". 1981.