对不起,如果我的问题没有清除。让我详细说明一下。
我有一个尺寸为100 x 200的矩形,我有一个100 x 200的图形尺寸,适合矩形。由于OpenGL要求所有纹理都具有2 ^ n的宽度和高度,因此我基本上将100 x 200图形右侧放入128 x 256图像中。它适用于OpenGL,因为我只是要求它只绘制矩形所需的纹理的一部分。但是,让我印象深刻的是,在128 x 256纹理中,有很多未使用的空间。
在这种情况下,是否有更好的方法来处理这些未使用的空间?或者这应该是要走的路?
答案 0 :(得分:5)
将多个纹理打包到一个“工作表”中。
答案 1 :(得分:1)
如果你必须减少填充以节省内存,你可以将图像分成多个pow2纹理,例如将100像素水平分成64,32和200像素垂直分成128,64,8。您还需要将正在纹理化的矩形分割成多个相应的矩形(四边形)。
在此示例中,您将渲染9个四边形/纹理而不是1,因此您需要测量应用程序中是否存在性能损失。
如果您使用双线性插值,则无法使用此技术,因为您需要纹理边框,我认为OpenGL ES不支持该纹理边框。
答案 2 :(得分:0)
调整图片大小以更好地适应。 在这个世界上,你什么也得不到。