首先要明确这个问题中提到的所有“大小”都是 2 的幂。
我需要一种算法来支持在大型 3D 纹理图集中创建/删除任意大小的子纹理,然后纹理图集大小可以是(X,Y,Z),具有三个不同的维度大小,子纹理也可以有三个不同的尺寸大小,每个子纹理的尺寸也可以不同。该算法应该足够快,线性速度最好,并且碎片尽可能少。
如果这个问题的所有参数都太笼统了。一个简单的版本也可以工作。简单的版本应该是 3D 纹理图集与 X 具有相同的三个维度,并且每个子纹理具有与 Y 相同的三个维度,但是每个子纹理的 Y 可以是不同的值。例如,大小为 128x128x128 的纹理图集,创建/删除大小为 2x2x2 或 4x4x4 或 8x8x8 等的子纹理。