Sprite (компьютерная графика) - Sprite (computer graphics)

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

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

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

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

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

История

Аркадные системы

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

Самые ранние видеоигры представляют игроков персонажей , как спрайты человека игроков были аркадные спортивные видеоигры , датируемые Taito «s TV баскетболе , выпущенный в апреле 1974 года и лицензию на Midway Manufacturing для выпуска в Северной Америке. Созданный Томохиро Нисикадо , он хотел выйти за рамки простых прямоугольников в стиле Понг и перейти к графике персонажей, переставив прямоугольные формы в объекты, похожие на баскетболистов и баскетбольные кольца . Позднее Ramtek выпустил еще одну спортивную видеоигру, Baseball , в октябре 1974 года , в которой были изображены похожие на людей персонажи.

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

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

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

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

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

Термин « спрайт» впервые был использован в графическом смысле одним из разработчиков процессора видеодисплея (VDP) Texas Instruments 9918 (A ). Этот термин впервые использовал Дэнни Хиллис из Texas Instruments в конце 1970-х годов. Этот термин произошел от того факта, что спрайты, а не часть данных растрового изображения в буфере кадра, вместо этого «плавают» сверху, не затрагивая данные в буфере кадра ниже, во многом как призрак или « спрайт ». К этому времени спрайты достигли уровня, когда полные двумерные формы можно было перемещать по экрану по горизонтали и вертикали с минимальными затратами на программное обеспечение.

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

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

Компьютерная система Оборудование Sprite Год Спрайты на экране Спрайты на линии Максимум. тексели на линии Ширина текстуры Высота текстуры Цвета Аппаратный зум Вращение Задний план Обнаружение столкновений Прозрачность Источник
Амстрад Плюс 1990 г. 16 16 ? 16 16 15 2, 4 × по вертикали, 2, 4 × по горизонтали Нет 1 растровый слой Нет Цветовой ключ
Atari 2600 TIA 1977 г. 5 5 19 1, 8 262 1 2, 4, 8 × по горизонтали Горизонтальное зеркальное отображение 1 растровый слой да Цветовой ключ
Семейство 8-битных Atari GTIA / ANTIC 1979 г. 8 8 40 2, 8 128, 256 1 2 × по вертикали, 2, 4 × по горизонтали Нет 1 тайловый или растровый слой да Цветовой ключ
Коммодор 64 VIC-II 1982 г. 8 8 96, 192 12, 24 21 год 1, 3 2 × целое число Нет 1 тайловый или растровый слой да Цветовой ключ
Амига (OCS) Дениз 1985 г. 8, можно повторно использовать по горизонтали с шагом 4 пикселя Произвольные, 8 уникальных Произвольный 16 Произвольный 3, 15 Вертикально по списку отображения Нет 2 растровых слоя да Цветовой ключ
Амига (AGA) Лиза 1992 г. 8, можно повторно использовать по горизонтали с шагом 2 пикселя Произвольные, 8 уникальных Произвольный 16, 32, 64 Произвольный 3, 15 Вертикально по списку отображения Нет 2 растровых слоя да Цветовой ключ
ColecoVision TMS9918A 1983 г. 32 4 64 8, 16 8, 16 1 2 × целое число Нет 1 плиточный слой Частичное Цветовой ключ
ТИ-99 / 4А TMS9918A 1981 г. 32 4 64 8, 16 8, 16 1 2 × целое число Нет 1 плиточный слой Частичное Цветовой ключ
Gameduino 2011 г. 256 96 1,536 16 16 255 Нет да 1 плиточный слой да Цветовой ключ
Intellivision STIC AY-3-8900 1979 г. 8 8 64 8 8,16 1 2, 4, 8 × по вертикали, 2 × по горизонтали Горизонтальное и вертикальное зеркальное отображение 1 плиточный слой да Цветовой ключ
MSX TMS9918A 1983 г. 32 4 64 8, 16 8, 16 1 2 × целое число Нет 1 плиточный слой Частичное Цветовой ключ
MSX2 Yamaha V9938 1986 г. 32 8 128 8, 16 8,16 1, 3, 7, 15 на строку 2 × целое число Нет 1 тайловый или растровый слой Частичное Цветовой ключ
MSX2 + / MSX турбо R Yamaha V9958 1988 г. 32 8 128 8,16 8,16 1, 3, 7, 15 на строку 2 × целое число Нет 1 тайловый или растровый слой Частичное Цветовой ключ
Namco Pac-Man
(аркада)
TTL 1980 г. 6 6 96 16 16 3 Нет Горизонтальное и вертикальное зеркальное отображение 1 плиточный слой Нет Цветовой ключ
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 плиточный слой Нет Цветовой ключ
Nintendo Donkey Kong , Radar Scope
(аркада)
1979 г. 128 16 256 16 16 3 Целое число Нет 1 плиточный слой да Цветовой ключ
Nintendo DS Интегрированный PPU 2004 г. 128 128 1,210 8, 16, 32, 64 8, 16, 32, 64 65 536 Да, аффинно Да, аффинно 4 слоя на экран; каждый слой независим Нет Цветовой ключ, смешивание
NES / Famicom Ricoh RP2C0x PPU 1983 г. 64 8 64 8 8, 16 3 Нет Горизонтальное и вертикальное зеркальное отображение 1 плиточный слой Частичное Цветовой ключ
Геймбой Интегрированный PPU 1989 г. 40 10 80 8 8, 16 3 Нет Горизонтальное и вертикальное зеркальное отображение 1 плиточный слой Нет Цветовой ключ
Game Boy Advance Интегрированный PPU 2001 г. 128 128 1210 8, 16, 32, 64 8, 16, 32, 64 15, 255 Да, аффинно Да, аффинно 4 слоя, 2 слоя и 1 аффинный слой, 2 аффинных слоя Нет Цветовой ключ, смешивание
Мастер-система ,
игровое снаряжение
YM2602B VDP
(производный от TMS9918)
1985 г. 64 8 128 8, 16 8, 16 15 2 × целое число, 2 × вертикальное Зеркальное отображение фоновой плитки 1 плиточный слой да Цветовой ключ
Sega Genesis YM7101 VDP
(на основе SMS VDP)
1988 г. 80 20 320 8, 16, 24, 32 8, 16, 24, 32 15 Нет Горизонтальное и вертикальное зеркальное отображение 2 слоя плитки да Цветовой ключ
Sega OutRun (аркада) 1986 г. 128 128 1600 От 8 до 512 От 8 до 256 15 Да, анизотропный Горизонтальное и вертикальное зеркальное отображение 2 тайловых слоя и 1 растровый слой да Альфа
X68000 Синтия мл. (оригинал), Синтия (более поздние модели) 1987 г. 128 32 512 16 16 15 2 × целое число Горизонтальное и вертикальное зеркальное отображение 1-2 слоя плитки и 1-4 слоя растрового изображения Частичное Цветовой ключ
Neo Geo LSPC2-A2 1990 г. 384 96 1536 16 От 16 до 512 15 Уменьшение спрайта Горизонтальное и вертикальное зеркальное отображение 1 плиточный слой Частичное Цветовой ключ
Super NES /
Super Famicom
С-ППУ1, С-ППУ2 1990 г. 128 34 256 8, 16, 32, 64 8, 16, 32, 64 15 Нет Горизонтальное и вертикальное зеркальное отображение 3 слоя листов или 1 слой листов с аффинным отображением да Цветовой ключ, усреднение
Компьютерная система Оборудование Sprite Год Спрайты на экране Спрайты на линии Максимум. тексели на линии Ширина текстуры Высота текстуры Цвета Аппаратный зум Вращение Задний план Обнаружение столкновений Прозрачность Источник

Синонимы

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

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

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

Блок подвижных объектов , или MOB , использовался влитературе по графическим чипам MOS Technology . Commodore , основной пользователь микросхем MOS и владелец MOS на протяжении большей части срока службы производителя микросхем, использовал термин спрайт для Commodore 64.

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

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

использованная литература