Truevision TGA (.tga)

Truevision มาตรฐาน

TGA (Targa) เป็นรูปแบบแรสเตอร์ที่เกี่ยวข้องกับบอร์ดจับภาพวิดีโอ TARGA ของ Truevision และเคยใช้ในเวิร์กโฟลว์กราฟิกและทรัพยากรเกมบางประเภท โดยเฉพาะในช่วงทศวรรษ 1990 และ 2000

แปลง TGA เป็น PNG

ตัวแปลงจาก TGA เป็น PNG ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบไฟล์และข้อมูลเมตา

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TGA โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
รับประกันความเป็นส่วนตัวโดยไม่มีการส่งข้อมูลผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TGA โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

ไม่มีลายเซ็นตายตัว

การแสดงผลรูปแบบ ASCII: ไม่มีลายเซ็นตายตัว

มาตรฐาน: Truevision TGA File Format Specification v2.0

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์ส่วนหัวขนาดคงที่ 18 ไบต์ ตามด้วย ID ภาพ, แผนผังสี, ข้อมูลพิกเซลแรสเตอร์ และส่วนท้าย v2.0 (เลือกมีได้)
การบีบอัดสแกนไลน์ดิบที่ไม่บีบอัด หรือ Run-Length Encoding (RLE) แบบแพ็กเก็ตที่ไม่สูญเสียข้อมูล
การจัดลำดับไบต์ลำดับไบต์แบบ Little-Endian (Intel x86)
พื้นที่สีRGB ของอุปกรณ์
ช่องสัญญาณและโครงสร้างระดับเทาสเกล 8 บิต, RGB 16 บิต (5-5-5-1), RGB 24 บิต หรือ RGBA 32 บิตพร้อมอัลฟา
ขนาดสูงสุด65,535 x 65,535 พิกเซล (ฟิลด์มิติ 16 บิต)
ความโปร่งใสความโปร่งใสด้วยช่องอัลฟาเต็มรูปแบบ 8 บิต (ในโหมด 32 บิต) หรืออัลฟา 1 บิต (ในโหมด 16 บิต)
การสตรีมและแบบโปรเกรสซีฟสตรีมมิงสแกนไลน์ตามลำดับ; รองรับการวางแนวจากบนลงล่างหรือจากล่างขึ้นบน

ตารางเปรียบเทียบทางเทคนิค: TGA กับคู่แข่ง

คุณลักษณะทางเทคนิคTGA (ปัจจุบัน)PNGBMPDDS
การใช้งานพื้นผิววิดีโอเกมใช้โดยเอนจินเกมบางตัวในช่วงทศวรรษ 1990-2000ทรัพยากร UI 2 มิติและเว็บสมัยใหม่บิตแมปมรดกของ Windowsรูปแบบ GPU บีบอัดสมัยใหม่ของ DirectX
การรองรับอัลฟาแชนเนลช่องอัลฟา 8 บิตที่ให้ความโปร่งใสเนียนตา (โหมด 32 บิต)ช่องอัลฟา 8 บิตที่ให้ความโปร่งใสเนียนตาอัลฟา 32 บิตแบบจำกัดอัลฟาบีบอัด DXT/BC
อัลกอริทึมการบีบอัดไม่บีบอัดหรือ Packet RLEการบีบอัด Deflate แบบไม่สูญเสียข้อมูล การประหยัดขนาดขึ้นอยู่กับเนื้อหาภาพไม่บีบอัด / RLEการบีบอัดบล็อก GPU โดยตรง (BC1-BC7)
ตำแหน่งลายเซ็นส่วนท้าย 26 ไบต์ ('TRUEVISION-XFILE.')ส่วนหัวไบต์ 0 ('‰PNG....')ส่วนหัวไบต์ 0 ('BM')ส่วนหัวไบต์ 0 ('DDS ')

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

ภาพแสดงผลกลับหัวหรือสะท้อนในแนวนอน

สาเหตุหลัก: บิตตัวอธิบายภาพ (บิต 4 และ 5 ในไบต์ 17) ถูกอ่านผิดหรือกลับด้านโดยตัวถอดรหัส

การกู้คืน: สลับแฟล็กพลิกแนวตั้ง/แนวนอน หรือแปลงโดยใช้ File2File.app TGA Converter

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

ตัวถอดรหัส TGA ประมวลผลสตรีม RLE แบบแพ็กเก็ต หากจำนวนพิกเซลในช่วง RLE ผิดพลาด อาจเขียนข้อมูลนอกขอบเขตฮีปได้

เวกเตอร์การโจมตีที่ทราบ

  • ความยาวแพ็กเก็ต RLE เกินขอบเขตบัฟเฟอร์สแกนไลน์ปลายทาง
  • บัฟเฟอร์ล้นเมื่ออ่านรายการแผนผังสีที่เกินความลึกแผนผังสีที่ประกาศ
  • จำนวนเต็มล้นระหว่างการจัดสรรบัฟเฟอร์หน่วยความจำ width * height * (bpp / 8)

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: บังคับใช้การตรวจสอบขอบเขตต่อบรรทัดสแกนอย่างเข้มงวดระหว่างการแกะแพ็กเก็ต RLE

ประวัติความเป็นมาและเหตุการณ์สำคัญ

1998TGA กลายเป็นรูปแบบทั่วไปในเวิร์กโฟลว์งานศิลป์เกมเพราะรองรับสีโดยตรงและข้อมูล alpha เอนจินเกม เช่น Quake II ของ id Software ใช้ TGA สำหรับเท็กซ์เจอร์
1989Truevision เผยแพร่รูปแบบไฟล์ TGA v2.0 โดยเพิ่มส่วนท้าย 'TRUEVISION-XFILE' ขนาด 26 ไบต์ที่เป็นมาตรฐาน
1984Truevision แนะนำบอร์ดวิดีโอ TARGA (Truevision Advanced Raster Graphics Adapter) และรูปแบบ TGA

ข้อได้เปรียบและจุดเด่นสำคัญ

  • สถาปัตยกรรมการถอดรหัสที่เรียบง่ายสุดขีดช่วยให้สามารถโหลดหน่วยความจำพื้นผิว GPU ได้โดยตรงด้วยภาระงาน CPU ที่น้อยที่สุด
  • TGA จัดเก็บข้อมูล RGB 24 บิตหรือ RGBA 32 บิตพร้อมช่องอัลฟาได้ จึงมีประโยชน์ในเวิร์กโฟลว์พื้นผิว สไปรต์ และเดคัลเกมบางประเภท
  • รองรับทั้งแบบไม่บีบอัดและการบีบอัด RLE แบบไม่สูญเสียข้อมูลที่มีน้ำหนักเบา

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • ขนาดไฟล์ที่ใหญ่กว่ารูปแบบพื้นผิวบีบอัดสมัยใหม่ เช่น DDS, KTX2 หรือ PNG
  • ขาดการจัดการโปรไฟล์สีแบบดั้งเดิม (ไม่มีโปรไฟล์ ICC ฝังอยู่)
  • ไฟล์ TGA v1.0 ดั้งเดิมไม่มีไบต์ลายเซ็นมาตรฐานที่ตำแหน่งไบต์ 0 (ระบุชนิดไฟล์จากฟิลด์ส่วนหัวและส่วนท้าย)

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • TGA ถูกสร้างขึ้นเพื่อบันทึกเฟรมวิดีโอบรอดคาสต์บน IBM PC ก่อนที่จอภาพพีซีมาตรฐานจะสามารถแสดงสี 24 บิตได้เสียอีก
  • ไฟล์ TGA 2.0 มีลักษณะเฉพาะตรงที่ลายเซ็นไฟล์ ('TRUEVISION-XFILE.') อยู่ที่ท้ายไฟล์ แทนที่จะอยู่ตอนต้น
  • TGA ถูกใช้เป็นพื้นผิวโดยเอนจินเกมบางตัวในยุค 1990 รวมถึงเกมของ id Software และ Valve

คำถามทางเทคนิคที่พบบ่อย

เหตุใดนักพัฒนาเกมจึงชอบรูปแบบ TGA?

เนื่องจากไฟล์ TGA ไม่มีการบีบอัดหรือใช้ RLE อย่างง่าย ช่วยให้เอนจิ้นเกมสามารถโหลดเท็กซ์เจอร์ 32 บิตและความโปร่งใสของอัลฟาลงในหน่วยความจำวิดีโอได้โดยตรงโดยไม่ต้องทำการคลายการบีบอัดที่ช้า

ระบุไฟล์ TGA ที่ไม่มีไบต์ลายเซ็นที่ตำแหน่งไบต์ 0 ได้อย่างไร

ไฟล์ TGA 2.0 สมัยใหม่จะลงท้ายด้วยสตริง ASCII 'TRUEVISION-XFILE.' ใน 26 ไบต์สุดท้ายของไฟล์

แปลง TGA เป็น PNG ได้อย่างไร

ไฟล์ TGA อาจมีช่อง alpha ที่ใช้กับเท็กซ์เจอร์เกม แปลงเป็น PNG เพื่อคงความโปร่งใส หรือเป็น JPEG สำหรับภาพทึบที่เล็กกว่า ตัวแปลงนี้ทำงานในเบราว์เซอร์