我每帧生成一个值集合,我想将这些值添加到特定索引处的更大值集合中。
这是我正在生成的集合的典型示例
std::vector<glm::vec3> corners;
corners.reserve(8);
//glm::vec3 corners[8];
//std::list<glm::vec3> corners;
corners[i++] = position - hX + hY + hZ;
corners[i++] = position + hX + hY + hZ;
corners[i++] = position + hX - hY + hZ;
corners[i++] = position - hX - hY + hZ;
corners[i++] = position - hX + hY - hZ;
corners[i++] = position + hX + hY - hZ;
corners[i++] = position + hX - hY - hZ;
corners[i++] = position - hX - hY - hZ;
然后我有一个更大的 glm::vec3 值集合,我想将上面的值复制到特定索引处。
std::vector<glm::vec3> vertices;
vertices.assign(maxVertices, 0);
C# 等价物是
corners.CopyTo(vertices, index);
我可以使用什么类类型来有效地生成较小的集合并将其复制到较大的集合,而不会在每一帧生成它的开销太大?
我可以将每个新生成的较小集合分配到较大集合的末尾,这样可以忽略索引值。