// Mesh.h #pragma once #include "Component.h" #include <GL/glew.h> #include <glm/glm.hpp> #include <yaml-cpp/yaml.h> class MeshComponent : public Component { public: GLuint vao = 0; // Vertex Array Object GLuint indexCount = 0; // Number of indices to draw GLuint textureID = 0; // The texture handle MeshComponent(); virtual const std::string& GetName() const override; static const std::string& GetStaticName(); // Serialization methods virtual YAML::Node Serialize() override; virtual void Deserialize(const YAML::Node& node) override; private: static const std::string name; };