Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 算法支持任意大小子纹理的三维纹理图谱_Algorithm_3d_Texture Atlas_Best Fit - Fatal编程技术网

Algorithm 算法支持任意大小子纹理的三维纹理图谱

Algorithm 算法支持任意大小子纹理的三维纹理图谱,algorithm,3d,texture-atlas,best-fit,Algorithm,3d,Texture Atlas,Best Fit,首先要明确的是,这个问题中提到的所有“大小”都是2的幂 我需要一个算法来支持在一个大的3D纹理图集中创建/删除任意大小的子纹理,那么纹理图集的大小可以是(X,Y,Z)三个不同的维度大小,子纹理也可以有三个不同的维度大小,每个子纹理的维度也可以不同。该算法应该足够快,最好以线性速度运行,并且尽可能减少碎片 如果此问题的所有参数都过于笼统。一个简单的版本也可以。简单的版本应该是,3D纹理图集的三维度与X相同,每个子纹理的三维度与Y相同,但Y可以是每个子纹理的不同值。例如,一个大小为128x128x1

首先要明确的是,这个问题中提到的所有“大小”都是2的幂

我需要一个算法来支持在一个大的3D纹理图集中创建/删除任意大小的子纹理,那么纹理图集的大小可以是(X,Y,Z)三个不同的维度大小,子纹理也可以有三个不同的维度大小,每个子纹理的维度也可以不同。该算法应该足够快,最好以线性速度运行,并且尽可能减少碎片


如果此问题的所有参数都过于笼统。一个简单的版本也可以。简单的版本应该是,3D纹理图集的三维度与X相同,每个子纹理的三维度与Y相同,但Y可以是每个子纹理的不同值。例如,一个大小为128x128x128的纹理图集,创建/删除大小为2x2x2或4x4x4或8x8x8等的子纹理。

此问题缺少足够的细节来回答。此分配算法的期望属性是什么?添加了一些详细信息,希望足够清楚。请提供更多信息:您是一次分配一个空间还是一起分配多个空间?例如,它更像“内存”还是“显示已知数据”?当你说“最适合”时,它可能意味着很多事情,至少对我来说是这样。我完全重写了这个问题,使它更具体。