TGA

TGA (též označovaný jako Targa) je jeden ze souborových formátů pro ukládání rastrové počítačové grafiky. Formát vytvořila společnost Truevision (nyní Pinnacle Systems), která se specializovala na výrobu obrazových adaptérů, tzv. videograbberů. Grabberů typu Targa existovalo několik typů a pro každý byla vytvořena vlastní varianta grafického formátu TGA (lišily se především v počtu bitů na pixel). Tyto videoadaptéry byly první pro IBM PC, které podporovaly true color.

Nejčastěji používané nekomprimované typy zápisu dat jsou tyto:

  • 1 bit na pixel
  • 8 bitů na pixel, 24bitová paleta
  • 8 bitů na pixel, 256 odstínů šedi
  • 24 bitů na pixel (RGB)
  • 32 bitů na pixel (RGB + alfa kanál)

Rastrový obraz (bitmapa) může být v grafických souborech typu TGA uložen různými způsoby, a to buď v komprimované, nebo volné (nekomprimované) formě. Komprimované obrazové soubory typu TGA se dnes již téměř nepoužívají, neboť výhoda formátu je právě v jednoduché manipulaci s nekomprimovaným TGA. Pravděpodobně nejpoužívanější je nekomprimovaná bitmapa uložená v true color (32bitové) paletě. Je však možné uložit i bitmapu ve stupních šedi (greyscale), či bitmapu obsahující indexovanou barevnou paletu (jako GIF) místo přímých barev. Za zmínku stojí podpora bitmap uložených ve stupních šedi, které jsou často používány při ukládání snímků získaných při počítačové tomografii. (Pro převod na snímek s paletou pro další zpracování obrazu je tento formát zcela nevhodný).

Informace v souborech (tzv. hlavička) typu TGA jsou rozděleny do sekcí, přičemž pouze první je povinná – jde o informační hlavičku, jejíž velikost je vždy rovna 18 bajtům. Jsou zde umístěny základní informace o obraze, zejména jeho rozlišení, způsob kódování barev pixelů a orientace obrázku. Hlavičku je možné srovnat například s hlavičkou souboru BMP, jejíž velikost je 54 bajtů, a neobsahuje navíc žádné další důležité informace, spousta informací naopak chybí. Při prohledání hlavičky TGA však zjistíme, že i ona obsahuje nadbytečné údaje a bylo by možné ji o pár bitů zkrátit.

Hlavička souboru ve formátu TGA

OffsetVelikost (byte)NázevVýznam položky
01 byteIDLengthvelikost obrazového identifikátoru
11 byteColorMapTypetyp barevné mapy
21 byteImageTypetyp obrázku
32 byteCMapStartpočátek barevné palety
52 byteCMapLengthdélka barevné palety
71 byteCMapDepthbitová hloubka položek barevné palety
82 byteXOffsetX-ová souřadnice počátku obrázku
102 byteYOffsetY-ová souřadnice počátku obrázku
122 byteWidthšířka obrázku uvedená v pixelech
142 byteHeightvýška obrázku uvedená v pixelech
161 bytePixelDepthpočet bitů na jeden pixel (bitová hloubka)
171 byteImageDescriptorpopisovač obrázku

Bitmapy je možné komprimovat několika způsoby, typicky se používá jednoduché kódování RLE (Run Length Encoding), které může být kombinované s Huffmanovým kódem. V porovnání s komprimací pomocí algoritmů LZ77 a LZW (použité například v GIF a PNG) je však RLE i Huffmanovo kódování pro většinu snímků méně účinné, i když mnohem jednodušší na implementaci. Kromě vlastních barev jednotlivých pixelů je možné ukládat i alfa kanál; v něm může být průhlednost popsána buď jedním bitem (podobně jako v případě grafického formátu GIF), nebo bity osmi (256 stupňů průhlednosti).

Formát je často používán pro tvorbu realistické grafiky, využívají jej programy pracující s lokálním osvětlovacím modelem, je vhodný pro ukládání a načítání textur. Následuje ukázka použití TGA formátu v několika programech a PC hrách.

  • Star Wars Galaxies nabízí tzv. screenshoty v TGA stejně jako JPG a BMP.
  • Warcraft III vytváří screenshoty výhradně v TGA. Textury modelů mohou být uloženy i v TGA.
  • World of Warcraft vytváří screenshoty výhradně v TGA (před verzí 2.0 (tj. The Burning Crusade), kdy přešel na JPG).
  • BeOS vytváří screenshoty v TGA.
  • POV-Ray engine využívá TGA pro textury a mapy terénu.
  • Blender používá TGA jako implicitní formát pro export UV-textur.
  • Unreal Editor využívá TGA jako formát textur.
  • Star Wars: Knights of the Old Republic II - The Sith Lords vytváří screenshoty v TGA.
  • World In Conflict vytváří screenshoty v TGA.
  • F/A-18 Hornet Operation Iraqi Freedom (OIF) využívá TGA pro textury a bitmapovou grafiku.
  • Messiah od firmy Shiny Entertainment využívá TGA nejen pro screenshoty, ale také pro import textur, s příponami .001, .002, .003 apod.
  • Team Fortress 2 vytváří screenshoty v TGA.
  • Second Life dovoluje importovat a exportovat textury v TGA.
  • Glest používá textury ve formátu TGS.
  • Half-Life a Half-Life 2 používají TGA pro obrázky pozadí 3D prostředí.
  • Midtown Madness 2 používá TGA pro otexturování terénu.

Externí odkazy