ImageBinary.xml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. RGBF32,
  27. RGBAF32
  28. };
  29. /// The available data compressions.
  30. /// @memberof ImageBinaryHeader
  31. enum class ImageBinaryDataCompression : U32
  32. {
  33. NONE,
  34. RAW = 1 << 0,
  35. S3TC = 1 << 1,
  36. ETC = 1 << 2,
  37. ASTC = 1 << 3
  38. };
  39. ANKI_ENUM_ALLOW_NUMERIC_OPERATIONS(ImageBinaryDataCompression)
  40. ]]></prefix_code>
  41. <classes>
  42. <class name="ImageBinaryHeader" comment="The 1st things that appears in a image binary">
  43. <members>
  44. <member name="m_magic" type="U8" array_size="8"/>
  45. <member name="m_width" type="U32"/>
  46. <member name="m_height" type="U32"/>
  47. <member name="m_depthOrLayerCount" type="U32"/>
  48. <member name="m_type" type="ImageBinaryType"/>
  49. <member name="m_colorFormat" type="ImageBinaryColorFormat"/>
  50. <member name="m_compressionMask" type="ImageBinaryDataCompression"/>
  51. <member name="m_isNormal" type="U32"/>
  52. <member name="m_mipmapCount" type="U32"/>
  53. <member name="m_astcBlockSizeX" type="U32"/>
  54. <member name="m_astcBlockSizeY" type="U32"/>
  55. <member name="m_padding" type="U8" array_size="80"/>
  56. </members>
  57. </class>
  58. </classes>
  59. </serializer>