vtf.h 947 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #pragma once
  2. #include <stdint.h>
  3. #pragma pack(1)
  4. struct VTFHeader {
  5. char signature[4];
  6. uint32_t version[2];
  7. uint32_t header_size;
  8. uint16_t width, height;
  9. uint32_t flags;
  10. uint16_t frames;
  11. uint16_t first_frame;
  12. char padding0[4];
  13. float reflectivity[3];
  14. char padding1[4];
  15. float bump_scale;
  16. uint32_t hires_format;
  17. uint8_t mipmap_count;
  18. uint32_t lores_format;
  19. uint8_t lores_width, lores_height;
  20. };
  21. enum VTFImageFormat {
  22. VTFImage_None = -1,
  23. VTFImage_RGBA8 = 0,
  24. VTFImage_ABGR8,
  25. VTFImage_RGB8,
  26. VTFImage_BGR8,
  27. VTFImage_RGB565,
  28. VTFImage_I8,
  29. VTFImage_IA8,
  30. VTFImage_P8,
  31. VTFImage_A8,
  32. VTFImage_RGB8_Bluescreen,
  33. VTFImage_BGR8_Bluescreen,
  34. VTFImage_ARGB8,
  35. VTFImage_BGRA8,
  36. VTFImage_DXT1,
  37. VTFImage_DXT3,
  38. VTFImage_DXT5,
  39. VTFImage_BGRX8,
  40. VTFImage_BGR565,
  41. VTFImage_BGRX5551,
  42. VTFImage_BGRA4,
  43. VTFImage_DXT1_A1,
  44. VTFImage_BGRA5551,
  45. VTFImage_UV8,
  46. VTFImage_UVWQ8,
  47. VTFImage_RGBA16F,
  48. VTFImage_RGBA16,
  49. VTFImage_UVLX8
  50. };
  51. #pragma pack()