Truevision TGA (.tga)
Truevision StandardowyTruevision TGA (Targa) to historyczny format grafiki rastrowej stworzony dla przełomowych kart przechwytywania wideo TARGA, który stał się definitywnym formatem tekstur 3D oraz zasobów gier wideo w latach 90. i dwutysięcznych.
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):
00 00 02 00 00 00 00 00REPREZENTACJA ASCII: ........ (Stopka: TRUEVISION-XFILE)
Normalizacja: Truevision TGA File Format Specification v2.0
Specyfikacja techniczna
| Architektura kontenera | 18-bajtowy stały nagłówek, po którym następuje identyfikator obrazu, mapa kolorów, raster pikseli oraz opcjonalna stopka w wersji 2.0 |
| Kompresja | Neskondensowane 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.
Analiza bezpieczeństwa i wektory ataku na parser
Dekodery TGA przetwarzają strumienie RLE oparte na pakietach, w których błędnie sformułowane liczby długości serii mogą wywołać zapisy w pamięci podręcznej spoza dozwolonego zakresu (heap overflows).
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 liczbowe 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.
- Niezawodna obsługa 32-bitowego kanału alfa RGBA uczyniła go ulubieńcem branży w dziedzinie tekstur do gier wideo, sprite'ów i naklejek.
- 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.