Разрешение (компьютерная графика)
- 1 year ago
- 0
- 0
Спрайт ( англ. sprite — « фея , эльф ») — графический объект в компьютерной графике .
Чаще всего — растровое изображение , которое можно отобразить на экране . Наблюдение спрайта в трёхмерном пространстве под несоответствующим углом приводит к разрушению иллюзии. То есть легче всего воспринимать спрайт как перемещающуюся в пространстве проекцию какого-то объёмного тела так, чтобы разница была незаметна.
Слово «спрайт» было придумано в 1970-е годы одним сотрудником компании Texas Instruments : их новая микросхема TMS9918 могла аппаратно отображать небольшие картинки поверх неподвижного фона .
Изначально под спрайтами понимали небольшие рисунки, которые выводились на экран с применением аппаратного ускорения . На некоторых машинах ( MSX 1, NES ) программная прорисовка приводила к определённым ограничениям , а аппаратные спрайты этого ограничения не имели. Впоследствии с увеличением мощности центрального процессора от аппаратных спрайтов отказались и понятие «спрайт» распространилось на всех двумерных персонажей. В частности, в видеоиграх Super Mario и Heroes of Might and Magic вся графика спрайтовая, анимированная с помощью перебора изображений из атласа спрайтов.
К аппаратно ускоренным спрайтам вернулись в середине 1990-х годов — когда развитие мультимедиа и взрывное повышение разрешения и глубины цвета потребовало специализированного процессора в видеоплате. Именно тогда, как обёртка над аппаратным 2D-ускорителем, вышел DirectDraw . DirectX 8 ввёл общий API для двух- и трёхмерной графики, и в современных спрайтовых играх двухмерные спрайты выводятся точно так же, как и трёхмерные — как текстурированный прямоугольник .
Атлас спрайтов является растровым изображением, объединяющим спрайты в набор раскадровок анимаций, или иным комплектом спрайтов. Целесообразность применения заключается в уменьшении количества файлов и применение sprite-batch в процессе рендеринга : видеокарте передаётся одно изображение, набор координат, на которых его необходимо « отрендерить » и «трафаретов», вырезающих из атласа отдельные спрайты. В результате, двухмерная графика «рендерится» значительно быстрее, чем одиночными передачами видеокарте одиночных спрайтов с указанием координат отрисовки. Для дополнительного сжатия и уменьшения количества неиспользуемого пространства, атлас может комбинировать изображения не сеткой, а в максимально плотно сжатом виде, таким образом, что, если описать вокруг каждого спрайта прямоугольник — часть прямоугольников будет пересекаться. Данный формат требует дополнительной информации о вершинах, которыми можно описать каждый спрайт без пересечения с другими, и увеличивает время загрузки приложения, но позволяет сократить память.
CSS позволяет применять в себе атласы спрайтов. Несколько изображений располагаются в одном графическом файле. Далее, чтобы разложить его на несколько изображений, применяется ограничение размеров изображения по размеру одного спрайта в атласе, и сдвиг background-position атласа на значение, кратное высоте изображения. Таким образом, один файл может обеспечить иконками весь сайт.
CSS-спрайты экономят трафик и ускоряют загрузку — браузеру потребуется запрашивать меньше файлов.
В первых трёхмерных играх, например, Wolfenstein 3D ( 1992 ), Doom ( 1993 ) и Build Engine -основанных ( Duke Nukem 3D , Shadow Warrior , Exhumed, Redneck Rampage ), персонажи представлялись в виде двумерных рисунков, изменяющих размер в зависимости от того, насколько далеко они находятся от игрока.
На 3D-акселераторах применяется такая техника: объект рисуется в виде плоскости с наложенной на неё текстурой с прозрачными областями. Эта технология применяется в трёх случаях.
Спрайты могут применяться для оптимизации графического ядра, когда отрисовка трёхмерной детализованной модели слишком накладна и может привести к сильному падению скорости рендеринга. Таковыми являются:
Некоторые спецэффекты , такие как огонь, выполняются спрайтами, так как полигональный огонь плохо смотрится. Сравните, например, взрывы в Quake 2 и Unreal Tournament .
Для большей правдоподобности изображения используется большое количество сравнительно маленьких спрайтов (так называемая система частиц ).
Изредка спрайты применяются для добавления в игру живого фото или видео . Например:
Стоит заметить, что в некоторых спрайтовых играх, таких как Rise of the Triad , спрайты фотографировались с актёров, а не с моделей, игрушек или рисунков.
Появление шейдеров частично снимает потребность в живой съёмке — многие нюансы фотоизображения уже можно передать полигональными моделями в реальном времени.