Truevision TGA (.tga)

Truevision Стандарт

Truevision TGA (Targa) - це історичний формат растрової графіки, створений для новаторських відеокарт TARGA, який став визначним стандартом текстур для тривимірної графіки та відеоігор у 1990-х і 2000-х роках.

Конвертувати з TGA у PNG

Безкоштовний конвертер з TGA у PNG у браузері. Миттєво конвертуйте файли на своєму пристрої.

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли TGA, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

100% приватна конвертація у браузері - файли ніколи не покидають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності з нульовою передачею мережею: 0 байт завантажено на зовнішні сервери. Уся обробка виконується локально в пісочниці вашого браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

Операційні системи та аналізатори файлів ідентифікують файли TGA, перевіряючи початкову послідовність бінарних байтів:

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

00 00 02 00 00 00 00 00

ASCII-УЯВЛЕННЯ: ........ (Footer: TRUEVISION-XFILE)

Стандартизація: Truevision TGA File Format Specification v2.0

Технічні характеристики

Архітектура контейнераФіксований заголовок довжиною 18 байтів, за яким слідують ідентифікатор зображення, карта кольорів, дані растрових пікселів та необов'язковий нижній колонтитул версії v2.0
СтисненняНестиснені сирі рядки розгортки або кодування серій довжин (RLE) без втрат на основі пакетів
Порядок байтів (Endianness)Зворотний порядок байтів (Intel x86)
Колірні просториDevice RGB
Канали та структура8-бітне відтінки сірого, 16-бітне RGB (5-5-5-1), 24-бітне RGB або 32-бітне RGBA з альфа-каналом
Максимальні розміри65 535 x 65 535 пікселів (16-бітні поля розмірності)
ПрозорістьПовна 8-бітна прозорість альфа-каналу (у 32-бітному режимі) або 1-бітна альфа (у 16-бітному режимі)
Потокове та прогресивне завантаженняПослідовна потокова передача рядків розгортки; підтримує орієнтацію зверху вниз або знизу вгору

Технічна матриця порівняння: TGA проти конкурентів

Технічний атрибутTGA (Поточний)PNGBMPDDS
Використання для текстур у відеоіграхУніверсальний застарілий стандарт 1990-2000 роківСучасні 2D-інтерфейси та веб-активиЗастарілий бітмап WindowsСучасний формат стиснених текстур для GPU від DirectX
Підтримка альфа-каналуЧистий 8-бітний альфа-канал (32-бітний режим)Чистий 8-бітний альфа-каналОбмежений 32-бітний альфа-каналСтиснений альфа-канал DXT/BC
Алгоритм стисненняНестиснений або пакетний RLEDeflate без втрат (~на 60% менший розмір)Нестиснений / RLEПряме блокове стиснення GPU (BC1-BC7)
Розташування підпису26-байтний нижній колонтитул ('TRUEVISION-XFILE.')Заголовок байта 0 ('‰PNG....')Заголовок байта 0 ('BM')Заголовок байта 0 ('DDS ')

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Зображення відображається догори дном або дзеркально по горизонталі.

Першопричина: Біти дескриптора зображення (біти 4 і 5 у байті 17) неправильно прочитані або інвертовані декодером.

Відновлення: Перемкніть прапорці вертикального/горизонтального відбиття або виконайте конвертацію за допомогою конвертера TGA у File2File.

Аналіз безпеки та векторів атак на парсери

Декодери TGA обробляють потоки RLE на основі пакетів, де пошкоджені лічильники довжини серій можуть викликати запис у пам'ять купи за межами допустимих меж.

Відомі вектори атак

  • Довжина пакету RLE перевищує межу буфера рядка розгортки призначення.
  • Переповнення буфера під час читання елементів карти кольорів, що перевищує заявлену глибину карти кольорів.
  • Цілочисельне переповнення під час виділення пам'яті для буфера ширина * висота * (bpp / 8).

Захисні найкращі практики: Застосовуйте сувору перевірку меж для кожного рядка розгортки під час розпакування пакетів RLE.

Історичне походження та віхи

1998Half-Life від Valve та Quake II від id Software популяризують TGA як стандартний формат текстурних активів для відеоігор.
1989Truevision випускає специфікацію формату файлів TGA v2.0, додавши стандартний 26-байтний нижній колонтитул 'TRUEVISION-XFILE'.
1984Truevision представляє відеоплату TARGA (Truevision Advanced Raster Graphics Adapter) та формат TGA.

Головні переваги та плюси

  • Екстремально проста архітектура декодування забезпечує пряме завантаження текстур у пам'ять GPU з мінімальним навантаженням на CPU.
  • Надійна підтримка 32-бітного альфа-каналу RGBA зробила його улюбленцем індустрії для текстур відеоігор, спрайтів і декалей.
  • Підтримує як нестиснене, так і легке RLE-стиснення без втрат.

Технічні обмеження та мінуси

  • Більший розмір файлів порівняно з сучасними форматами стиснених текстур, такими як DDS, KTX2 або PNG.
  • Бракує вбудованого керування колірними профілями (немає вбудованих профілів ICC).
  • Оригінальні файли TGA v1.0 не мають стандартизованого сигнатурного банта в нульовому байті (ідентифікуються за полями заголовка та нижнім колонтитулом).

Цікаві технічні факти

  • Формат TGA був створений для захоплення кадрів телевізійного відео на комп'ютерах IBM PC ще до того, як стандартні монітори ПК могли відображати 24-бітний колір.
  • Файли TGA 2.0 унікальні тим, що їхній сигнатурний підпис ('TRUEVISION-XFILE.') зберігається в самому кінці файлу, а не на початку.
  • Майже кожен великий тривимірний ігровий рушій 1990-х років, від id Tech до Unreal Engine, завантажував текстурні активи безпосередньо з файлів .TGA.

Поширені технічні запитання

Чому розробники ігор любили формат TGA?

Тому що файли TGA були нестисненими або використовували простий алгоритм RLE, що дозволяло ігровим рушіям завантажувати 32-бітні текстури та альфа-прозорість безпосередньо у відеопам'ять без повільної декомпресії.

Як ідентифікувати файл TGA без магічних байтів у нульовому байті?

Сучасні файли TGA 2.0 закінчуються рядком ASCII 'TRUEVISION-XFILE.' у останніх 26 байтах файлу.

Як я можу конвертувати TGA у PNG?

Ви можете конвертувати текстури TGA у високоякісні зображення PNG або JPG прямо у своєму браузері за допомогою File2File.app без передачі будь-яких даних на сторонні сервери.