I have a mesh I am constructing in code and I want to dynamically add and remove vertices. Right now it looks to me that to change the vertex count I have to specify a completely new array for the mesh.
Is there any way to avoid this? I am thinking something along the lines of I give mesh an array of indices as well as a length, which is uses instead of the actual array length. So in that case if I had an array of 100 verts capacity I could use only 4 of those verts one time, then 10 verts the next time, etc, without having to every create new arrays and later free them. (I want to avoid dynamic constant dynamic allocation / deallocation)
As far as I know in C# there is no way to have an array point to some shared memory - ArraySegment looked promising but it doesn’t really do that. Nor can I subclass array.
Maybe there is some C++ magic that can be done to accomplish this? Again, the key goal is to allocate an array with some capacity and then feed that into mesh for vertices / indices / etc such that the length can be different from the capacity and I don’t have to allocate new arrays for each length change.