0

我正在开发一个使用 1 个特别大的纹理 2250x1000 的 Open GL 应用程序。不幸的是,Open GL ES 2.0 不支持大于 2048x2048 的纹理。当我尝试绘制纹理时,它显示为黑色。我需要一种方法来加载和绘制两段(左、右)的纹理。我已经看到了一些涉及 libpng 的问题,但我真的只需要一个直接的解决方案来在 opengl es 中绘制大纹理。

4

1 回答 1

0

首先纹理大小支持取决于设备,我相信 iPad 3 支持 4096x4096 但不介意。无法将所有这些数据像大多数设备一样推送到 1 个纹理上。首先,您应该问自己是否真的需要这么大的纹理,如果将其重新采样到 2048x_ 是否真的会有所作为。如果答案是否定的,您将需要在某个时候打破它。您可以将其宽度减半并将切割部分附加到纹理的底部,从而生成 1125x2000 纹理,或者简单地创建 2 个或更多纹理并将纹理图像的某些部分推送到它们。在任何情况下,您都可能在纹理坐标方面遇到问题,但这在很大程度上取决于您要做什么,该纹理上有什么(单个图像或复杂模型的一部分;颜色映射或一些您无法插值的数据;您是在加载时创建它还是在运行时对其进行修改...)。也许更多信息可以帮助我们更具体地解决您的情况。

于 2013-06-07T07:10:04.077 回答