Спрайт (комп'ютерна графіка)

Спрайт ( англ. Sprite - фея; ельф) - графічний об'єкт у комп'ютерній графіці.

Найчастіше - растрове зображення, вільно переміщається по екрану. [1] Спостереження спрайту під невідповідним кутом призводить до руйнування ілюзії. Тобто найлегше сприймати спрайт як перемещающуюся в просторі проекцію якогось об'ємного тіла так, що різниця непомітна.


1. Походження терміну

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

2. Спрайт в двомірної графіку

Спочатку під спрайтами розуміли невеликі малюнки, які виводилися на екран із застосуванням апаратного прискорення. На деяких машинах ( MSX 1, NES) програмна промальовування приводила до певних обмежень, а апаратні спрайт цього обмеження не мали. Згодом із збільшенням потужності центрального процесора, від апаратних спрайтів відмовилися, і поняття "спрайт" поширилося на всіх двовимірних персонажів. Зокрема, в відеоіграх Super Mario і Heroes of Might and Magic вся графіка спрайтову.

До апаратно прискореним Спрайт повернулися в середині 1990-х років - коли розвиток мультимедіа і вибуховий підвищення дозволу і глибини кольору зажадало спеціалізований процесор в видеоплате. Саме тоді, як обгортка над апаратним 2D-прискорювачем, вийшов DirectDraw. DirectX 8 ввів загальний API для двох-і тривимірної графіки, і в сучасних спрайтову іграх двомірні спрайт виводяться точно так само, як і тривимірні - як текстурований прямокутник.


2.1. CSS-спрайт

Застосовуються в вебі. Кілька зображень розташовуються в одному графічному файлі. Для того, щоб вирізати з файлу потрібний шматок, застосовується CSS - звідси назва технології.

CSS-спрайт економлять трафік і прискорюють завантаження - браузеру буде потрібно запитувати менше файлів.

3. Спрайт в тривимірній графіці

3.1. Движки першого покоління

Спрайтові персонажі в Doom. Зверніть увагу на два абсолютно однакових трупа.

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


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

На 3D-акселераторах застосовується така техніка: об'єкт малюється у вигляді площини з накладеною на неї текстурою з прозорими областями. Ця технологія застосовується в трьох випадках.

3.2.1. Оптимізація

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

  • Об'єкти, присутні в сцені у великій кількості і які, будучи тривимірними, мали б велику кількість граней і дуже сильно впливали б на продуктивність - наприклад, публіка (рис. 1), трава і т. д.
  • Віддалені об'єкти, які поблизу малюються полігональними моделями.

3.2.2. Спецефекти

Деякі спецефекти (наприклад, вогонь) виконуються спрайтами, так як полігональний вогонь погано виглядає. Порівняйте, наприклад, вибухи в Quake 2 (рис. 2) і Unreal Tournament (рис. 3).

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


    3.2.3. Жива зйомка

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

    • Живі актори, наприклад в realMyst (рис. 4).
    • Важелі управління в симуляторах літаків, поїздів і т. д., сфотографовані в реальному кабіні.

    Варто зауважити, що в деяких спрайтову іграх, таких, як Rise of the Triad, спрайт фотографувалися з акторів, а не з моделей, іграшок або малюнків.

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


    3.3. Руйнування ілюзії

    Спостереження спрайту під невідповідним кутом призводить до руйнування ілюзії. В залежності від математичного апарату рендеринга ("движка"), руйнування може відбуватися двома способами.

    1. "Ефект портрета". Спрайтову об'єкт постійно тримається до спостерігача нормаллю до поверхні, що призводить до того, що він візуально "повертається" весь час до нього "обличчям". У невеликих межах це непомітно, але при погляді, скажімо, на монстра зверху він може виявитися "лежачим на спині" на горизонтальному підлозі і при цьому перебирає ногами, та ще й біжучим в потрібному напрямку, не змінюючи більш ніж дивною пози. Для боротьби з цим ефектом застосовуються набори з великого числа спрайтів, знятих з різних напрямків, які підміняють один одного в залежності від кута спостереження, але момент переходу від спрайту до спрайту також вельми помітний.
    2. "Ефект Єльцина " . Названий через схожість спрайту з картонними портретами першого президента РФ, призначеними для фотографій- сувенірів і встановлюється в людних місцях в 90-ті роки, що збіглися з розквітом спрайтову ігор. Виникає, якщо спрайт не повертається нормаллю до поверхні до спостерігача, видаючи "площинність" об'єкта навіть при невеликих змінах кута спостереження. Характерний для апаратно-рендерімих спрайтів, введених в полігональний "движок" як допоміжні.

    3.4. Термінологія

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

    Примітки

    1. sprite definition - Dictionary - MSN Encarta - encarta.msn.com / dictionary_ / sprite.html
    2. Google Groups