在段中加载纹理

时间:2013-06-07 02:07:05

标签: ios opengl-es libpng

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

1 个答案:

答案 0 :(得分:0)

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