Итак, я пытаюсь разработать класс модели для моего проекта OpenGL, но я пытаюсь выяснить, как мои данные должны храниться в общем, чтобы иметь возможность визуализировать всю модель.
Например, модель автомобиля. Автомобиль будет состоять из трех сеток: кузова, колеса и оси. Я хочу, чтобы колеса вращались вместе с осями, а оси следовали за телом вокруг.
Моя текущая настройка класса выглядит следующим образом:
struct Vertex {
glm::vec3 position;
glm::vec3 normal;
glm::vec2 texCoord;
};
struct Texture {
unsigned int id;
std::string type;
};
class Mesh
{
public:
Mesh();
Mesh(std::vector<Vertex> pVerticies, std::vector<unsigned int> pIndicies, std::vector<Texture> pTextures);
~Mesh();
private:
std::vector<Vertex> verticies;
std::vector<unsigned int> indicies;
std::vector<Texture> textures;
};
И модель класса
class Model
{
public:
Model();
~Model();
private:
std::vector<Mesh> meshes;
unsigned int shaderID;
};
Класс модели совсем не конкретизирован, так как я не знаю, как хранить данные отношений.