Есть много разных способов визуализации вокселей с их различными плюсами и минусами. Из вопроса звучит так, будто вы идете по сценарию Minecraft.
Довольно простой для реализации метод с разумной производительностью - просто разбить мир на «куски» некоторого фиксированного размера. Каждый из этих блоков имеет связанный буфер вершин, и когда блок удаляется или каким-либо образом изменяется, буфер вершин для этого блока обновляется. При рендеринге отрисовка выдается для каждого чанка.
Выбор правильных размеров для чанка очень важен для производительности. Если ваши чанки слишком велики, то перестройка буфера вершин при смене блока будет дорогостоящей. Если чанки слишком малы, то общее количество чанков будет большим, если при рендеринге их все будет загружено драйвером внедрения.
Для повышения производительности можно применять дополнительные алгоритмы скрытия, чтобы избежать добавления скрытых треугольников в буферы вершин.
Существует много, гораздо больше, что вы можете сделать, чтобы улучшить производительность и расширить границы возможностей рендеринга вокселей, но это хорошее место для начала.