Truevision TGA (.tga)

Truevision Szabvány

A TGA (Targa) a Truevision TARGA videorögzítő kártyáihoz kapcsolódó raszteres formátum, amelyet egyes grafikai és játékeszköz-munkafolyamatokban használtak, különösen az 1990-es és 2000-es években.

TGA konvertálása erre: PNG

Ingyenes, böngészőben használható TGA-konverter PNG formátumba. A fájlokat azonnal konvertálhatja az eszközén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) TGA fájlokat:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) TGA fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

Nincs rögzített aláírás (a TGA fejlécmezői változóak)

ASCII ÁBRÁZOLÁS: Nincs rögzített aláírás

Szabványosítás: Truevision TGA File Format Specification v2.0

Műszaki specifikációk

Konténer architektúra18 bájtos rögzített fejléc, amelyet képazonosító, színtérkép, raszteres képpontadatok és opcionális 2.0-s záróelem követ
TömörítésTömörítetlen nyers pásztázási sorok vagy veszteségmentes, csomagalapú futamhossz-kódolás (RLE)
Bájtsorrendkis bájtsorrendű (Intel x86)
SzínterekDevice RGB
Csatornák és struktúra8 bites szürkeárnyalatos, 16 bites RGB (5-5-5-1), 24 bites RGB vagy 32 bites RGBA alfa-csatornával
Max. méretek65,535 x 65,535 képpont (16 bites méretmezők)
ÁtlátszóságTeljes, 8 bites alfa-csatorna (32 bites módban) vagy 1 bites alfa (16 bites módban)
Streaming és progresszívSoronkénti adatfolyam; felülről lefelé és alulról felfelé irányú tárolást is támogat

Műszaki összehasonlító mátrix: TGA vs. versenytársak

Technikai attribútumTGA (Jelenlegi)PNGBMPDDS
Videojáték-textúrák használataNéhány 1990-es és 2000-es évekbeli játékmotor használtaModern 2D UI és webes eszközökWindows örökölt bitképModern, DirectX-alapú, tömörített GPU-formátum
Alfa-csatorna-támogatásTiszta 8 bites alfa (32 bites mód)Tiszta 8 bites alfaKorlátozott 32 bites alfaDXT/BC tömörített alfa
Tömörítési algoritmusTömörítetlen vagy Packet RLEVeszteségmentes Deflate-tömörítés; a méretcsökkenés a kép tartalmától függTömörítetlen / RLEKözvetlen GPU blokktömörítés (BC1-BC7)
Az aláírás helye26 bájtos lábléc ('TRUEVISION-XFILE.')0. bájtos fejléc ('‰PNG....')0. bájtos fejléc ('BM')0. bájtos fejléc ('DDS ')

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

A kép fejjel lefelé vagy vízszintesen tükrözve renderelődik.

Kiváltó ok: A kép leíró bitjeit (17. bájt 4. és 5. bitje) rosszul olvasta be vagy megfordította a dekóder.

Helyreállítás: Függőleges/vízszintes tükrözési jelzők váltása vagy konvertálás a File2File.app TGA konverterrel.

Biztonsági elemzés és elemző (parser) támadási vektorok

A TGA dekóderek csomagalapú RLE streameket dolgoznak fel, ahol a hibás futáshossz-számlálók határokon túli kupac-írásokat (heap write) válthatnak ki.

Ismert támadási vektorok

  • Az RLE csomag hossza meghaladja a célpásztázási sor (scanline) puffer határát.
  • Puffertúlcsordulás színpaletta bejegyzések olvasásakor, amikor azok meghaladják a deklarált színpaletta-mélységet.
  • Egész szám túlcsordulása a szélesség * magasság * (bpp / 8) memóriapuffer lefoglalása során.

Ajánlott védekezési módszerek: Kényszerítsen ki szigorú pásztázási soronkénti határellenőrzést az RLE csomagok kibontásakor.

Történeti háttér és mérföldkövek

1998A TGA a játékok grafikai munkafolyamataiban terjedt el a közvetlen szín- és alfaadat támogatása miatt; többek között az id Software Quake II játéka használta textúrákhoz.
1989A Truevision kiadja a TGA fájlformátum v2.0-s verzióját, amely hozzáadja a szabványos 26 bájtos 'TRUEVISION-XFILE' láblécet.
1984A Truevision bemutatja a TARGA (Truevision Advanced Raster Graphics Adapter) videokártyát és a TGA formátumot.

Főbb előnyök

  • A rendkívül egyszerű dekódolási architektúra minimális CPU-terheléssel teszi lehetővé a közvetlen GPU textúramemória-betöltést.
  • A TGA 24 bites RGB- vagy 32 bites RGBA-adatokat is tárolhat, alfa csatornával együtt, ezért hasznos volt egyes játéktextúra-, sprite- és matrica-munkafolyamatokban.
  • Támogatja a tömörítetlen és a könnyű, veszteségmentes RLE tömörítést is.

Technikai korlátok és hátrányok

  • Nagyobb fájlméretek a modern tömörített textúraformátumokhoz, például a DDS-hez, a KTX2-höz vagy a PNG-hez képest.
  • Hiányzik a natív színprofil-kezelés (nincsenek beágyazott ICC profilok).
  • Az eredeti v1.0 TGA fájlokból hiányzik a szabványos magic byte a 0. bájtnál (ezt a fejlécmezők és a lábléc alapján azonosítják).

Érdekes technikai tudnivalók

  • A TGA-t azért hozták létre, hogy sugárzott videókereteket rögzítsenek IBM PC-n, mielőtt a szabványos PC monitorok egyáltalán képesek lettek volna 24 bites színt megjeleníteni.
  • A TGA 2.0 fájlok azért egyediek, mert a magic aláírásuk ('TRUEVISION-XFILE.') a fájl legvégén található, nem pedig az elején.
  • Az 1990-es évek egyes játékmotorjai TGA-t használtak textúrákhoz, köztük az id Software és a Valve játékai.

Gyakran Ismételt Műszaki Kérdések

Miért szerették a játékfejlesztők a TGA formátumot?

Mert a TGA fájlok tömörítetlenek vagy egyszerű RLE tömörítésűek voltak, így a játékmotorok a lassú kitömörítést mellőzve közvetlenül a videómemóriába tölthették a 32 bites textúrákat és az alfa-átlátszóságot.

Hogyan azonosíthatok egy TGA fájlt, ha a 0. bájtnál nincsenek magic byte-ok?

A modern TGA 2.0 fájlok a fájl utolsó 26 bájtjában a 'TRUEVISION-XFILE.' ASCII karakterlánccal végződnek.

Hogyan konvertálhatok TGA-t PNG-be?

A TGA-fájlok tartalmazhatnak játéktextúrákban használt alfa-csatornát. Az átlátszóság megőrzéséhez alakítsa PNG-be, kisebb, átlátszatlan képhez pedig JPEG-be; a konverter a böngészőben fut.