2

对不起,如果我的问题不清楚。让我详细说明。

我有一个大小为 100 x 200 的矩形,我有一个适合该矩形的图形大小为 100 x 200。由于 OpenGL 要求所有纹理都具有 2^n 的宽度和高度,因此我基本上将 100 x 200 的图形直接放入 128 x 256 的图像中。它适用于 OpenGL,因为我只是要求它仅在矩形上绘制我需要的一部分纹理。然而,让我烦恼的是,在 128 x 256 的纹理中,有很多未使用的空间。

在这种情况下,有没有更好的方法来处理这些未使用的空间?或者这应该是要走的路?

4

3 回答 3

5

将多个纹理打包到一张“表”中。

于 2009-07-28T04:57:42.357 回答
1

如果您必须减少填充以节省内存,您可以将图像拆分为多个 pow2 纹理,例如将 100 像素水平拆分为 64、32、4 和 200 像素垂直拆分为 128、64、8。您还需要拆分矩形'正在纹理成多个相应的矩形(四边形)。

在此示例中,您将渲染 9 个四边形/纹理而不是 1 个,因此您需要测量应用程序中是否存在性能问题。

如果您使用双线性插值,您将无法使用此技术,因为您需要纹理边框,我认为 OpenGL ES 不支持。

于 2009-07-31T15:17:33.003 回答
0

调整图像大小以更好地适应。在这个世界上,你不会白白得到任何东西。

于 2009-07-30T04:13:30.003 回答