Truevision TGA (.tga)
Truevision StandardTGA (Targa) to format rastrowy kojarzony z kartami przechwytywania obrazu TARGA firmy Truevision, używany w niektórych procesach pracy z grafiką i zasobami gier, zwłaszcza w latach 90. i 2000.
Konwertuj TGA na PNG
Darmowy konwerter z TGA na PNG w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki TGA, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki TGA, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
Brak stałej sygnaturyREPREZENTACJA ASCII: Brak stałej sygnatury ASCII
Normalizacja: Truevision TGA File Format Specification v2.0
Specyfikacja techniczna
| Architektura kontenera | Stały 18-bajtowy nagłówek, po którym następują identyfikator obrazu, mapa kolorów, dane obrazu rastrowego i opcjonalna stopka w wersji 2.0 |
| Kompresja | Nieskompresowane surowe linie skanowania lub bezstratne kodowanie długości serii oparte na pakietach (RLE) |
| Kolejność bajtów (Endianness) | Little-Endian (Intel x86) |
| Przestrzenie kolorów | Device RGB |
| Kanały i struktura | 8-bitowa skala szarości, 16-bitowe RGB (5-5-5-1), 24-bitowe RGB lub 32-bitowe RGBA z kanałem alfa |
| Maks. wymiary | 65 535 x 65 535 pikseli (16-bitowe pola wymiarów) |
| Przezroczystość | Pełna 8-bitowa przezroczystość kanału alfa (w trybie 32-bitowym) lub 1-bitowa alfa (w trybie 16-bitowym) |
| Streaming i progresywne ładowanie | Sekwencyjne strumieniowanie linii skanowania; obsługa orientacji od góry do dołu lub od dołu do góry |
Techniczna macierz porównawcza: TGA a konkurencja
| Atrybut techniczny | TGA (Bieżący) | PNG | BMP | DDS |
|---|---|---|---|---|
| Zastosowanie w teksturach gier | Uniwersalny standard starszego typu z lat 90. i dwutysięcznych | Nowoczesny interfejs 2D i zasoby webowe | Starsza bitmapa systemu Windows | Nowoczesny skompresowany format GPU DirectX |
| Obsługa kanału alfa | Czysty 8-bitowy kanał alfa (tryb 32-bitowy) | Czysty 8-bitowy kanał alfa | Ograniczona alfa 32-bitowa | Skompresowana alfa DXT/BC |
| Algorytm kompresji | Nieskompresowany lub pakietowy RLE | Bezstratny Deflate (~60% mniejszy) | Nieskompresowany / RLE | Bezpośrednia kompresja blokowa GPU (BC1-BC7) |
| Lokalizacja sygnatury | 26-bajtowa stopka („TRUEVISION-XFILE.") | Nagłówek pod bajtem 0 („‰PNG....") | Nagłówek pod bajtem 0 („BM") | Nagłówek pod bajtem 0 („DDS ") |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Obraz renderuje się do góry nogami lub w odbiciu lustrzanym w poziomie.
Główna przyczyna: Bity deskryptora obrazu (bity 4 i 5 w bajcie 17) zostały błędnie odczytane lub odwrócone przez dekoder.
Odzyskiwanie: Przełącz flagi odwrócenia pionowego/poziomego lub skonwertuj plik za pomocą konwertera TGA File2File.app.
Analiza bezpieczeństwa i wektory ataku na parser
Dekodery TGA przetwarzają strumienie RLE oparte na pakietach, w których nieprawidłowe liczniki długości serii mogą prowadzić do zapisów poza dozwolonym zakresem pamięci sterty.
Znane wektory ataku
- Długość pakietu RLE przekracza granicę bufora docelowego linii skanowania.
- Przepełnienie bufora podczas odczytu wpisów mapy kolorów przekraczających zadeklarowaną głębię mapy kolorów.
- Przepełnienie liczby całkowitej podczas alokacji bufora pamięci: width * height * (bpp / 8).
Najlepsze praktyki obronne: Wymuszaj ścisłe sprawdzanie granic dla każdej linii skanowania podczas rozpakowywania pakietów RLE.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Niezwykle prosta architektura dekodowania umożliwia bezpośrednie ładowanie tekstur do pamięci karty graficznej przy minimalnym obciążeniu procesora.
- TGA może przechowywać dane RGB 24-bitowe lub RGBA 32-bitowe, w tym kanał alfa, dlatego przydawał się w niektórych procesach pracy z teksturami, sprite’ami i kalkomaniami do gier.
- Obsługuje zarówno nieskompresowane, jak i lekkie, bezstratne kodowanie RLE.
Ograniczenia techniczne i wady
- Większy rozmiar plików w porównaniu do nowoczesnych formatów kompresji tekstur, takich jak DDS, KTX2 czy PNG.
- Brak natywnego zarządzania profilami kolorów (brak osadzonych profili ICC).
- Oryginalne pliki TGA w wersji 1.0 nie posiadają standardowego bajtu magicznego pod indeksem 0 (są identyfikowane przez pola nagłówka i stopkę).
Ciekawe informacje techniczne
- Format TGA został stworzony do przechwytywania klatek wideo emitowanych na komputerach IBM PC, zanim standardowe monitory PC potrafiły wyświetlać 24-bitowy kolor.
- Pliki TGA 2.0 są unikalne, ponieważ ich sygnatura magiczna („TRUEVISION-XFILE.") jest przechowywana na samym końcu pliku, a nie na początku.
- Prawie każdy główny silnik gry 3D lat 90., od id Tech po Unreal Engine, ładował tekstury bezpośrednio z plików .TGA.
Często zadawane pytania techniczne
Dlaczego deweloperzy gier uwielbiali format TGA?
Ponieważ pliki TGA były nieskompresowane lub wykorzystywały proste kodowanie RLE, co pozwalało silnikom gier ładować 32-bitowe tekstury i przezroczystość alfa bezpośrednio do pamięci wideo bez powolnej dekompresji.
Jak zidentyfikować plik TGA bez bajtów magicznych na pozycji 0?
Nowoczesne pliki TGA 2.0 kończą się ciągiem znaków ASCII „TRUEVISION-XFILE." w ostatnich 26 bajtach pliku.
Jak mogę przekonwertować plik TGA do formatu PNG?
Możesz konwertować tekstury TGA na wysokiej jakości obrazy PNG lub JPG bezpośrednio w przeglądarce za pomocą File2File.app, bez przesyłania danych na serwer.
Powiązane pary konwersji TGA
Dekoduj 24-bitowe i 32-bitowe tekstury gier oraz grafiki rastrowe w formacie Truevision TGA do uniwersalnego, bezstratnego formatu PNG.
Przekształć teksturę TGA lub sprite w jednostronicowy plik PDF do przeglądu projektu. Strona pokazuje zdekodowane piksele, a nie edytowalne dane TGA ani kodowanie pakietowe.