#include #include namespace XCEngine { namespace Resources { Mesh::Mesh() = default; Mesh::~Mesh() = default; void Mesh::Release() { m_vertexData.Clear(); m_indexData.Clear(); m_sections.Clear(); SetInvalid(); } void Mesh::SetVertexData(const void* data, size_t size, Core::uint32 vertexCount, Core::uint32 vertexStride, VertexAttribute attributes) { m_vertexCount = vertexCount; m_vertexStride = vertexStride; m_attributes = attributes; m_vertexData.Resize(size); std::memcpy(m_vertexData.Data(), data, size); m_memorySize += size; } void Mesh::SetIndexData(const void* data, size_t size, Core::uint32 indexCount, bool use32Bit) { m_indexCount = indexCount; m_use32BitIndex = use32Bit; m_indexData.Resize(size); std::memcpy(m_indexData.Data(), data, size); m_memorySize += size; } void Mesh::AddSection(const MeshSection& section) { m_sections.PushBack(section); } } // namespace Resources } // namespace XCEngine