是否有应对的OpenGL ES纹理2 ^ n个像素大小的要求更有效的方法?
题
很抱歉,如果我的问题是未清除的。让我解释。
我有尺寸100×200的矩形,我有一个图形尺寸100×200,其与配合的矩形。因为OpenGL的要求所有的纹理到具有2 ^ N的宽度和高度,我基本上把100×200的图形直接进入此一128×256的图像。它工作正常的OpenGL的,因为我只是要求它仅绘制,我需要在矩形纹理的一部分。然而,什么我耿耿于怀的是,在128×256的纹理,有很多未使用的空间。
有没有更好的办法来应对这种情况下,这些未使用的空间?抑或是这应该是要走的路?
解决方案
包多个纹理成一个 “片材”。
其他提示
如果必须减少填充以节省存储器你可能分裂图像分成多个POW2纹理,例如分割100像素(水平)到64,32,图4和200个垂直像素到128,64,8.你还需要拆分你纹理化到多个相应的矩形(四边形)的矩形。
在这个例子中,你会被渲染9个四边形/纹理,而不是1,所以你需要衡量是否有应用程序中的性能问题。
您将无法使用这种技术,如果您正在使用双线性插值如你需要一个质感边框,我不认为是OpenGL ES的支持。
调整图片大小,以适应更好。 你没有得到什么在这个世界上任何东西。
不隶属于 StackOverflow