我想實現功能,以便我可以在運行時向頂點數組添加/移除頂點。 有沒有這樣做的常見方法?OpenGL ES - 更新頂點數組,添加/刪除頂點
頂點數據的推薦格式似乎是C數組的結構, 所以我試了下面。保持一個指向頂點結構數組財產:
@property Vertex *vertices;
,然後作出一個新的陣列和在
- (void) addVertex:(Vertex)newVertex
{
int numberOfVertices = sizeof(vertices)/sizeof(Vertex);
Vertex newArray[numberOfVertices + 1];
for (int i = 0; i < numberOfVertices; i++)
newArray[i] = vertices[i];
newArray[numberOfVertices] = newVertex;
self.vertices = newArray;
}
,但沒有運氣的數據複製。我不是在C究竟有信心所以很可能這真是小巫見大巫..