Как быстро вставлять и удалять блоки в мире Minecraftian? - PullRequest
1 голос
/ 19 апреля 2011

В настоящее время у меня есть данные тома для мира, хранящиеся в виде массива логических значений.Затем я проверяю каждый пустой блок, и если у него есть непустые соседи, грани прорисовываются.Это мешает мне отправлять кучу лиц на видеокарту с помощью opengl.

Сейчас я работаю над вставкой и удалением блоков, но я не уверен, как это сделать быстро.Изменить данные тома достаточно просто, но я не хочу пересчитывать все вершины из данных тома каждый раз, когда кто-то вставляет или удаляет блок.Мне пришло в голову просто добавить блок в буфер вершин в конце существующих данных вершин, но тогда у меня нет хорошего способа его уничтожить, поскольку у меня нет возможности соотнести объем и данные буфера вершин.

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 21 апреля 2011

Я думаю, вы можете добавить к нему тег «алгоритм». Я думаю, что настоящий майнкрафт работает так, что он хранит блоки размером 16x16x16, и каждый раз, когда обновляется один маленький блок, он просто обновляет информацию о вершинах этого большего блока.

Это мое понимание, я могу быть очень не прав. Я уверен, что вы можете узнать больше об этом в Интернете и на форумах Minecraft. Там много разговоров по майнкрафт.

1 голос
/ 19 апреля 2011

Октри может помочь вам пересчитать только что измененный блок.

...