Как «сгладить» или «индексировать» 3D-массив в 1D-массиве?

Я пытаюсь объединить 3D-массив в 1D-массив для "чанковой" системы в моей игре. Это трехмерная блочная игра, и я хочу, чтобы система чанков была практически идентична системе Minecraft (однако, это ни в коем случае не клон Minecraft). В моих предыдущих 2D-играх я обращался к сглаженному массиву по следующему алгоритму:

Tiles[x + y * WIDTH]

Тем не менее, это, очевидно, не работает с 3D, так как отсутствует Z-ось. Я понятия не имею, как реализовать этот алгоритм в 3D-пространстве. Ширина, высота и глубина - все константы (а ширина такая же, как высота).

Это простоx + y*WIDTH + Z*DEPTH ? Я очень плохо разбираюсь в математике, и я только начинаю 3D-программирование, поэтому я довольно растерялся: |

PS. Причиной этого является то, что я довольно много зацикливаюсь и получаю данные по индексу. Я знаю, что одномерные массивы быстрее многомерных (по причинам, которые я не могу вспомнить: P). Несмотря на то, что в этом нет необходимости, я хочу максимально возможной производительности :)

Ответы на вопрос(8)

Ваш ответ на вопрос