#pragma once #include "engine_api.h" #include "resource.hpp" #include "gfx.hpp" #include #include #include #include struct Vertex { glm::vec3 pos; glm::vec3 norm; glm::vec2 uv; }; namespace engine::resources { class ENGINE_API Mesh : public Resource { public: Mesh(const std::vector& vertices); Mesh(const std::vector& vertices, const std::vector& indices); Mesh(const std::filesystem::path& resPath); ~Mesh() override; std::vector m_vertices; std::vector m_indices; const gfx::Buffer* vb; const gfx::Buffer* ib; private: void initMesh(); }; }