Алгоритм поддержки 3D-текстуры атласа для произвольного размера суб-текстуры
Прежде всего, будет ясно, что все "размеры", упомянутые в этой задаче, являются степенью 2.
Мне нужен алгоритм для поддержки создания / удаления произвольного размера субтекстуры в большом трехмерном атласе текстуры, тогда размер текстурного атласа может быть (X, Y, Z) с тремя разными размерами измерения, а субтекстура также может иметь три разных размера. размерный размер и размерность каждой под-текстуры также могут быть разными. Алгоритм должен быть достаточно быстрым, лучше всего работать на линейной скорости и иметь как можно меньшую фрагментацию.
Если все параметры для этой проблемы слишком общие. Простая версия также может работать. Простая версия должна состоять в том, что атлас трехмерной текстуры имеет те же три измерения, что и X, и каждая субтекстура имеет те же три измерения, что и Y, но Y может иметь различное значение для каждой субтекстуры. Например, текстурный атлас размером 128x128x128, создание / удаление суб-текстуры размером 2x2x2 или 4x4x4 или 8x8x8 и т. Д.