vertexlayout.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * Copyright 2011-2021 Branimir Karadzic. All rights reserved.
  3. * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
  4. */
  5. #ifndef BGFX_VERTEXDECL_H_HEADER_GUARD
  6. #define BGFX_VERTEXDECL_H_HEADER_GUARD
  7. #include <bgfx/bgfx.h>
  8. #include <bx/readerwriter.h>
  9. namespace bgfx
  10. {
  11. ///
  12. void initAttribTypeSizeTable(RendererType::Enum _type);
  13. /// Returns attribute name.
  14. const char* getAttribName(Attrib::Enum _attr);
  15. ///
  16. const char* getAttribNameShort(Attrib::Enum _attr);
  17. ///
  18. Attrib::Enum idToAttrib(uint16_t id);
  19. ///
  20. uint16_t attribToId(Attrib::Enum _attr);
  21. ///
  22. AttribType::Enum idToAttribType(uint16_t id);
  23. ///
  24. int32_t write(bx::WriterI* _writer, const bgfx::VertexLayout& _layout, bx::Error* _err = NULL);
  25. ///
  26. int32_t read(bx::ReaderI* _reader, bgfx::VertexLayout& _layout, bx::Error* _err = NULL);
  27. ///
  28. uint32_t weldVertices(void* _output, const VertexLayout& _layout, const void* _data, uint32_t _num, bool _index32, float _epsilon, bx::AllocatorI* _allocator);
  29. } // namespace bgfx
  30. #endif // BGFX_VERTEXDECL_H_HEADER_GUARD