OpengES 2.0 изменяет длину TileMap во время выполнения (c ++) - PullRequest
0 голосов
/ 16 мая 2019

Я рисую карту плиток, используя OpenGL ES 2.0. Моя карта размером 10x10, для этого я создаю массив фиксированного размера 100. Однако во время выполнения мне нужно добавить новую плитку и увеличить массив более чем на 100. Если это произойдет, я не хочу воссоздавать массив и копировать все элементы из одного массива в другой. Кто-нибудь знает, как этого избежать, или как эффективно изменить массивы длины для тайла карты?

Я использую эти линии для рисования массивов vecs, uvs и indexes:

glVertexAttribPointer(program->positionHandle, 3, GL_FLOAT, false, 0, vecs);

glVertexAttribPointer(program->texCoordLoc, 2, GL_FLOAT, false, 0, uvs);

glDrawElements(GL_TRIANGLES, index_indices, GL_UNSIGNED_SHORT,  indices);

массивы теперь имеют фиксированный размер:


        vecs = new float[length * 12];
        uvs = new float[length * 8];
        indices = new short[length * 6];

Могу ли я использовать карту или вектор?

...