Sprite (компьютерная графика) - Sprite (computer graphics)
Часть серии по: |
Графика видеоигр |
---|
В компьютерной графике , спрайт представляет собой двумерный растровый , который интегрирован в большую сцену, чаще всего в 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 .