我正在通过脚本创建纹理图集。我用6张图片来做这件事,代码如下:
public void onePassBubbleSort(ArrayList<QuakeEntry> quakeData, int numSorted){
int j;
QuakeEntry temp;
for(int i=0; i<numSorted; i++){
for( j=0; j<(quakeData.size()-i-1);j++){
if(quakeData.get(j).getMagnitude()>quakeData.get(j+1).getMagnitude()){
temp=quakeData.get(j);
quakeData.set(j,quakeData.get(j+1));
quakeData.set(j+1,temp);
}
}
System.out.println("Printing Quakes after "+ i +" pass ");
for (QuakeEntry qe: quakeData) {
System.out.println(qe);
}
}
}
包装结果如下:
问题是,为什么这段代码会产生这么多空白空间?因为我总是只使用6个纹理,是否可以使图集更小?
答案 0 :(得分:0)
图形硬件喜欢处理具有二维幂的纹理,例如128x1024(2 ^ 7 x 2 ^ 10)。它们也可以处理其他纹理尺寸,但效率较低。这就是为什么引擎通常会尝试导入或生成具有两个幂的大小的纹理,即使它留下了一些未使用的纹理空间。由开发人员决定何时覆盖它。