Truevision TGA (.tga)
Truevision СтандартTruevision TGA (Targa) - це історичний формат растрової графіки, створений для новаторських відеокарт TARGA, який став визначним стандартом текстур для тривимірної графіки та відеоігор у 1990-х і 2000-х роках.
Конвертувати з TGA у PNG
Безкоштовний конвертер з TGA у PNG у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли TGA, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли TGA, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
00 00 02 00 00 00 00 00ASCII-УЯВЛЕННЯ: ........ (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 (Поточний) | PNG | BMP | DDS |
|---|---|---|---|---|
| Використання для текстур у відеоіграх | Універсальний застарілий стандарт 1990-2000 років | Сучасні 2D-інтерфейси та веб-активи | Застарілий бітмап Windows | Сучасний формат стиснених текстур для GPU від DirectX |
| Підтримка альфа-каналу | Чистий 8-бітний альфа-канал (32-бітний режим) | Чистий 8-бітний альфа-канал | Обмежений 32-бітний альфа-канал | Стиснений альфа-канал DXT/BC |
| Алгоритм стиснення | Нестиснений або пакетний RLE | Deflate без втрат (~на 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.
Історичне походження та віхи
Головні переваги та плюси
- Екстремально проста архітектура декодування забезпечує пряме завантаження текстур у пам'ять 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 без передачі будь-яких даних на сторонні сервери.