使用大量唯一数据填充c ++中的嵌套结构

时间:2013-11-10 00:12:51

标签: c++ struct

我在cpp中有一些结构

    struct Vertex
    {
      GLfloat position[3];
      GLubyte color[4];
      GLfloat textCoord[2];
      GLfloat normal[3];
    }

    Vertex verts[5];

我现在需要做的是将大量独特数据放入其中。问题是,它非常受阻,非常混乱和恐怖......

verts[3].position[0] = 0.5; verts[3].position[1] = -0.5; verts[3].position[2] = 0.0;
verts[3].color[0] = 255; verts[3].color[1] = 255; verts[3].color[2] = 0; verts[3].color[3] = 255;
verts[3].normal[0] = verts[3].normal[1] = verts[3].normal[2] = 0.0;
verts[3].textCoord[0] = 0.0; verts[3].textCoord[1] = 0.0;

我怎样才能更方便地使用它?当然我可以从文件中读取它,但出于某种原因我不想这样做。 对我来说,最好的方法是将它填充为数组或其他东西。我想过重载一些运算符,但我找不到任何解决方案,因为大多数只是一个参数。

2 个答案:

答案 0 :(得分:0)

编写一个简单的程序来生成测试数据到文件。

修改程序以从文件中输入测试数据。

该文件有两个用途:1)在每次测试运行期间获得相同的数据以进行调试; 2)您可以轻松更改数据,而无需重建程序。

答案 1 :(得分:0)

下面的内容应该对你有用 - 它只是数组初始化:

struct Vertex
{
  GLfloat position[3];
  GLubyte color[4];
  GLfloat textCoord[2];
  GLfloat normal[3];
};

Vertex verts[5] =
{
  {{0.5, -0.5, 0.0}, {255, 255, 0, 255}, {0.0, 0.0}, {0.0, 0.0, 0.0}},
  < ... repeat for other vertices probably with other numbers ... >
};