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

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

Спрайт (англ. Sprite — фея; эльф) — графический объект в компьютерной графике.

Чаще всего — растровое изображение, свободно перемещающееся по экрану.[1] Наблюдение спрайта под несоответствующим углом приводит к разрушению иллюзии. То есть легче всего воспринимать спрайт как перемещающуюся в пространстве проекцию какого-то объёмного тела так, что разница незаметна.

Содержание

Происхождение термина

Слово «спрайт» придумал в 1970-е годы кто-то из Texas Instruments: их новая микросхема TMS9918 могла аппаратно отображать небольшие картинки поверх неподвижного фона.[2]

Спрайты в двухмерной графике

Изначально под спрайтами понимали небольшие рисунки, которые выводились на экран с применением аппаратного ускорения. На некоторых машинах (MSX 1, NES) программная прорисовка приводила к определённым ограничениям, а аппаратные спрайты этого ограничения не имели. Впоследствии с увеличением мощности центрального процессора, от аппаратных спрайтов отказались, и понятие «спрайт» распространилось на всех двумерных персонажей. В частности, в видеоиграх Super Mario и Heroes of Might and Magic вся графика спрайтовая.

К аппаратно ускоренным спрайтам вернулись в середине 1990-х годов — когда развитие мультимедиа и взрывное повышение разрешения и глубины цвета потребовало специализированный процессор в видеоплате. Именно тогда, как обёртка над аппаратным 2D-ускорителем, вышел DirectDraw. DirectX 8 ввёл общий API для двух- и трёхмерной графики, и в современных спрайтовых играх двухмерные спрайты выводятся точно так же, как и трёхмерные — как текстурированный прямоугольник.

CSS-спрайты

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

CSS-спрайты экономят трафик и ускоряют загрузку — браузеру потребуется запрашивать меньше файлов.

Спрайты в трёхмерной графике

Движки первого поколения

Спрайтовые персонажи в Doom. Обратите внимание на два совершенно одинаковых трупа.

В первых трёхмерных играх, например, Wolfenstein 3D (1992) и Doom (1993), персонажи представлялись в виде двумерных рисунков, изменяющих размер в зависимости от расстояния.

На 3D-акселераторах

На 3D-акселераторах применяется такая техника: объект рисуется в виде плоскости с наложенной на неё текстурой с прозрачными областями. Эта технология применяется в трёх случаях.

Оптимизация

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

  • Объекты, присутствующие в сцене в большом количестве и которые, будучи трёхмерными, имели бы большое количество граней и очень сильно влияли бы на производительность — например, публика (рис. 1), трава и т. д.
  • Удалённые объекты, которые вблизи рисуются полигональными моделями.

Спецэффекты

Некоторые спецэффекты (например, огонь) выполняются спрайтами, так как полигональный огонь плохо смотрится. Сравните, например, взрывы в Quake 2 (рис. 2) и Unreal Tournament (рис. 3).

Для большей правдоподобности изображения используется большое количество сравнительно маленьких спрайтов (так называемая система частиц).

Живая съёмка

Изредка спрайты применяются для добавления в игру живого фото или видео. Например:

  • Живые актёры, например в realMyst (рис. 4).
  • Рычаги управления в симуляторах самолётов, поездов и т. д., сфотографированные в реальной кабине.

Стоит заметить, что в некоторых спрайтовых играх, таких, как Rise of the Triad, спрайты фотографировались с актёров, а не с моделей, игрушек или рисунков.

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

Разрушение иллюзии

Наблюдение спрайта под несоответствующим углом приводит к разрушению иллюзии. В зависимости от математического аппарата рендеринга («движка»), разрушение может происходить двумя способами.

  1. «Эффект портрета». Спрайтовый объект постоянно держится к наблюдателю нормалью к поверхности, что приводит к тому, что он визуально «поворачивается» все время к нему «лицом». В небольших пределах это незаметно, но при взгляде, скажем, на монстра сверху он может оказаться «лежащим на спине» на горизонтальном полу и при этом перебирающим ногами, да еще и бегущим в нужном направлении, не меняя более чем странной позы. Для борьбы с этим эффектом применяются наборы из большого числа спрайтов, снятых с разных направлений, которые подменяют друг друга в зависимости от угла наблюдения, но момент перехода от спрайта к спрайту также весьма заметен.
  2. «Эффект Ельцина»[источник не указан 1305 дней]. Назван из-за сходства спрайта с картонными портретами первого президента РФ, предназначенными для фотографий-сувениров и устанавливавшимися в людных местах в 90-е годы, совпавшие с расцветом спрайтовых игр. Возникает, если спрайт не поворачивается нормалью к поверхности к наблюдателю, выдавая «плоскостность» объекта даже при небольших изменениях угла наблюдения. Характерен для аппаратно-рендеримых спрайтов, введенных в полигональный «движок» как вспомогательные.

Терминология

  • Billboard — спрайт, постоянно повёрнутый лицом к камере (по аналогии с рекламными щитами на автодорогах, которые повёрнуты под наиболее выгодным углом).
  • Impostor — спрайт, который заменяет трёхмерную модель на большом удалении.

Примечания

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Спрайт (компьютерная графика)" в других словарях:

  • компьютерная графика — визуализация изображения информации на экране дисплея (монитора). В отличие от воспроизведения изображения на бумаге или ином носителе, изображение, созданное на экране, можно почти немедленно стереть или (и) подправить, сжать или растянуть,… …   Энциклопедический словарь

  • Geometry Instancing — (рус. дублирование геометрии) программная техника (методика) в трёхмерной компьютерной графике преимущественно реального времени. Суть Geometry Instancing состоит в визуализации множества копий одной полигональной сетки в трёхмерной сцене за один …   Википедия

  • Doom — У этого термина существуют и другие значения, см. Doom (значения). Doom Фон игрового меню Разработчик id So …   Википедия

  • MissingNo. — MissingNo. Скриншот из Pokémon Red, где тренера (снизу) атакует MissingNo. (сверху) Национальный Покедекс Нет → MissingNo. (#000) → Бульбазавр Японское имя けつばん (Кэцубан) Тип Птичий[ 1] / Обычный ( …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»