因此,我正在尝试为我的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;
};
由于我不知道如何存储关系数据,所以根本没有充实模型类。