#pragma once #include #include #include #include "../Math/Math.hpp" namespace MC::GFX { class Mesh { public: Mesh(std::vector> positions, std::vector> tex_coords, std::vector indices) : m_positions(std::move(positions)), m_tex_coords(std::move(tex_coords)), m_indices(std::move(indices)) {}; Mesh(std::vector> positions, std::vector> tex_coords) : m_positions(std::move(positions)), m_tex_coords(std::move(tex_coords)), m_indices() {}; float* raw(); size_t size(); uint32_t* raw_indices(); size_t indices_size(); float* raw_tex_coords(); size_t tex_coords_size(); private: std::vector> m_positions; std::vector> m_tex_coords; std::vector m_indices; }; }