CmMeshData.h 908 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "CmPrerequisitesUtil.h"
  3. #include "CmIReflectable.h"
  4. namespace CamelotEngine
  5. {
  6. class CM_UTILITY_EXPORT MeshData : public IReflectable
  7. {
  8. public:
  9. struct SubMeshData
  10. {
  11. SubMeshData():
  12. indexOffset(0), indexCount(0)
  13. { }
  14. int indexOffset;
  15. int indexCount;
  16. };
  17. MeshData();
  18. ~MeshData();
  19. Vector3* vertex;
  20. Vector3* normal;
  21. Vector3* tangent;
  22. Vector3* bitangent;
  23. Vector2* uv0;
  24. Vector2* uv1;
  25. int* index;
  26. int indexCount;
  27. int vertexCount;
  28. vector<SubMeshData>::type subMeshes;
  29. /************************************************************************/
  30. /* SERIALIZATION */
  31. /************************************************************************/
  32. public:
  33. friend class MeshDataST;
  34. static RTTITypeBase* getRTTIStatic();
  35. virtual RTTITypeBase* getRTTI() const;
  36. };
  37. }