CmMeshManager.cpp 914 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "CmMeshManager.h"
  2. #include "CmVector3.h"
  3. #include "CmMesh.h"
  4. namespace CamelotEngine
  5. {
  6. MeshManager::MeshManager()
  7. {
  8. mNullMeshData = MeshDataPtr(CM_NEW(MeshData, GenAlloc) MeshData(), &MemAllocDeleter<MeshData, GenAlloc>::deleter);
  9. auto indices = mNullMeshData->addIndices32(3);
  10. indices[0] = 0;
  11. indices[1] = 0;
  12. indices[2] = 0;
  13. auto vertices = mNullMeshData->addPositionsVec3(1);
  14. vertices[0] = Vector3(0, 0, 0);
  15. }
  16. MeshManager::~MeshManager()
  17. {
  18. }
  19. MeshPtr MeshManager::create()
  20. {
  21. MeshPtr mesh = MeshPtr(CM_NEW(Mesh, PoolAlloc) Mesh(), &CoreObject::_deleteDelayed<Mesh, PoolAlloc>);
  22. mesh->setThisPtr(mesh);
  23. mesh->initialize();
  24. return mesh;
  25. }
  26. MeshPtr MeshManager::createEmpty()
  27. {
  28. MeshPtr mesh = MeshPtr(CM_NEW(Mesh, PoolAlloc) Mesh(), &CoreObject::_deleteDelayed<Mesh, PoolAlloc>);
  29. mesh->setThisPtr(mesh);
  30. return mesh;
  31. }
  32. }