Truevision TGA (.tga)

Truevision Standardowy

Truevision 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:

Wybierz lub upuść pliki tutaj

Konwersja w 100% prywatna w przeglądarce - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

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 00

REPREZENTACJA ASCII: ........ (Stopka: TRUEVISION-XFILE)

Normalizacja: Truevision TGA File Format Specification v2.0

Specyfikacja techniczna

Architektura kontenera18-bajtowy stały nagłówek, po którym następuje identyfikator obrazu, mapa kolorów, raster pikseli oraz opcjonalna stopka w wersji 2.0
KompresjaNeskondensowane surowe linie skanowania lub bezstratne kodowanie długości serii oparte na pakietach (RLE)
Kolejność bajtów (Endianness)Little-Endian (Intel x86)
Przestrzenie kolorówDevice RGB
Kanały i struktura8-bitowa skala szarości, 16-bitowe RGB (5-5-5-1), 24-bitowe RGB lub 32-bitowe RGBA z kanałem alfa
Maks. wymiary65 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 ładowanieSekwencyjne 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 technicznyTGA (Bieżący)PNGBMPDDS
Zastosowanie w teksturach gierUniwersalny standard starszego typu z lat 90. i dwutysięcznychNowoczesny interfejs 2D i zasoby weboweStarsza bitmapa systemu WindowsNowoczesny skompresowany format GPU DirectX
Obsługa kanału alfaCzysty 8-bitowy kanał alfa (tryb 32-bitowy)Czysty 8-bitowy kanał alfaOgraniczona alfa 32-bitowaSkompresowana alfa DXT/BC
Algorytm kompresjiNieskompresowany lub pakietowy RLEBezstratny Deflate (~60% mniejszy)Nieskompresowany / RLEBezpośrednia kompresja blokowa GPU (BC1-BC7)
Lokalizacja sygnatury26-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

1998Gra Half-Life studia Valve oraz Quake II studia id Software popularyzują TGA jako standardowy format tekstur w grach wideo.
1989Truevision wydaje specyfikację formatu pliku TGA v2.0, dodając standardową 26-bajtową stopkę „TRUEVISION-XFILE".
1984Truevision wprowadza kartę wideo TARGA (Truevision Advanced Raster Graphics Adapter) oraz format TGA.

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.