#pragma once #include "Mesh.hpp" #include "RcPtr.hpp" #include #include class CpuMesh : public RefCounted { private: std::unique_ptr mVertexData; std::unique_ptr mIndexData; RcPtr mGpuMesh; RcPtr mVertexFormat; Tags::IndexType mIndexType; int mVertexByteCount; int mIndexCount; public: bool IsEmpty() const; std::byte* GetVertices() const; int GetVertexNumBytes() const; std::byte* GetIndices() const; int GetIndexNumBytes() const; GpuMesh* SyncToGpuCreate() const; void SyncToGpu(GpuMesh& mesh) const; };