ImageBinary.xml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <serializer>
  2. <includes>
  3. <include file="&lt;AnKi/Resource/Common.h&gt;"/>
  4. </includes>
  5. <doxygen_group name="resource"/>
  6. <prefix_code><![CDATA[
  7. static constexpr const char* IMAGE_MAGIC = "ANKITEX1";
  8. /// Image type.
  9. /// @memberof ImageBinaryHeader
  10. enum class ImageBinaryType : U32
  11. {
  12. NONE,
  13. _2D,
  14. CUBE,
  15. _3D,
  16. _2D_ARRAY
  17. };
  18. /// The acceptable color types.
  19. /// @memberof ImageBinaryHeader
  20. enum class ImageBinaryColorFormat : U32
  21. {
  22. NONE,
  23. RGB8,
  24. RGBA8,
  25. SRGB8,
  26. };
  27. /// The available data compressions.
  28. /// @memberof ImageBinaryHeader
  29. enum class ImageBinaryDataCompression : U32
  30. {
  31. NONE,
  32. RAW = 1 << 0,
  33. S3TC = 1 << 1,
  34. ETC = 1 << 2,
  35. ASTC = 1 << 3
  36. };
  37. ANKI_ENUM_ALLOW_NUMERIC_OPERATIONS(ImageBinaryDataCompression)
  38. ]]></prefix_code>
  39. <classes>
  40. <class name="ImageBinaryHeader" comment="The 1st things that appears in a image binary">
  41. <members>
  42. <member name="m_magic" type="U8" array_size="8"/>
  43. <member name="m_width" type="U32"/>
  44. <member name="m_height" type="U32"/>
  45. <member name="m_depthOrLayerCount" type="U32"/>
  46. <member name="m_type" type="ImageBinaryType"/>
  47. <member name="m_colorFormat" type="ImageBinaryColorFormat"/>
  48. <member name="m_compressionMask" type="ImageBinaryDataCompression"/>
  49. <member name="m_isNormal" type="U32"/>
  50. <member name="m_mipmapCount" type="U32"/>
  51. <member name="m_astcBlockSizeX" type="U32"/>
  52. <member name="m_astcBlockSizeY" type="U32"/>
  53. <member name="m_padding" type="U8" array_size="80"/>
  54. </members>
  55. </class>
  56. </classes>
  57. </serializer>