summaryrefslogtreecommitdiff
path: root/tools/gen_test_tga.cc
blob: 4e029ca24d50808e57cf197e1dc5be6da2e3b44c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <cstdint>
#include <cstdio>

int main() {
  FILE* f = fopen("assets/final/test_image.tga", "wb");
  if (!f)
    return 1;

  // TGA Header (Uncompressed True-Color, 2x2, 32-bit)
  uint8_t header[18] = {
      0,   0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, // Width: 2 (LE)
      2,   0,                                     // Height: 2 (LE)
      32,                                         // Depth: 32 bit
      0x28 // Descriptor: Top-Left origin, 8-bit alpha
  };
  fwrite(header, 1, 18, f);

  // Pixel Data (BGRA order for TGA usually, but let's see what stbi
  // expects/returns) stbi converts to requested format (RGBA). Let's write
  // BGRA: Pixel 0 (0,0): Red   -> 00 00 FF FF Pixel 1 (1,0): Green -> 00 FF 00
  // FF Pixel 2 (0,1): Blue  -> FF 00 00 FF Pixel 3 (1,1): White -> FF FF FF FF

  uint8_t pixels[] = {
      0x00, 0x00, 0xFF, 0xFF, // Red
      0x00, 0xFF, 0x00, 0xFF, // Green
      0xFF, 0x00, 0x00, 0xFF, // Blue
      0xFF, 0xFF, 0xFF, 0xFF  // White
  };
  fwrite(pixels, 1, sizeof(pixels), f);
  fclose(f);
  return 0;
}