Итак, насколько я знаю кодирование вокселей. Если вы хотите хранить данные «блоков», которые определены один за другим, вы можете использовать дерево интервалов , где ключ каждого узла является началом прогона, а значение является координатой прогона. Implemntation example.
Кроме того, вы никогда не хранить один блок, как класс, но набор блоков для примера блока 3x3 может быть сделан как:

, как вы видите, я просто закодирована позиция данных 9 блоков в двух битах Это упрощенный метод, для которого размер данных не является проблемой, но быстрая реализация итерации, которая нуждается в формировании какого-либо алгоритма.
Прежде чем начать игру с вокселей прочитать эти
Let's Make a Voxel Engine
Damn, Voxel Data is BIG
Voxel engines are everywhere…
Voxel Engine – Data Storage
Интернет полон ответившим, но это даст информацию, которая тебе нужно. Кроме того, ключевое слово, что я думаю, что вы были mising это VOXEL
Не могли бы вы привести пример этих чисел? –
Трудно понять, что вы имеете в виду для _overhead_. Управление этим гибридом не является накладными расходами? – Steve
Вы можете использовать определенные биты (используя [побитовые операторы] (https://en.wikipedia.org/wiki/Bitwise_operation)) целого числа для хранения информации, но в большинстве случаев, которые я видел, они в основном являются микрооптимизациями и не стоит делать. Можете ли вы привести пример того, что вы будете хранить? –