Truevision TGA (.tga)

Truevision Standard

TGA (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:

Wybierz lub upuść pliki tutaj

Prywatnie - 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):

Brak stałej sygnatury

REPREZENTACJA ASCII: Brak stałej sygnatury ASCII

Normalizacja: Truevision TGA File Format Specification v2.0

Specyfikacja techniczna

Architektura konteneraStał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
KompresjaNieskompresowane 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.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

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.
  • 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.