【发布时间】:2011-05-14 20:45:43
【问题描述】:
我想将尺寸为 200 像素(宽)x 80 像素(高)的纹理绘制到 openGL 中的一个矩形(宽 200 像素,高 80 像素)。 由于 openGL ES 1.1 中的纹理必须具有二次幂,我想加载一个尺寸为 256px x 128px 的图像,其中包含左上角的原始 200px x 80px 图像,其余部分留空。 如何使用 glTexSubImage2D 从 256px x 128px 纹理中获取感兴趣的部分? 我不知道如何使用最后一个参数(即像素)正确地提供该函数。
此外,我读到我必须以某种方式使用 glPixelStorei?
谁能给我一个示例代码的sn-p,好吗? 我一直在努力解决这个问题,但我就是不明白。
顺便说一句,我也尝试不使用 glTexSubImage2D,而是在 0...1 之间调整 TextureCoords,但这并没有奏效。
【问题讨论】:
-
在某些情况下,您确实可以在大多数 iOS 设备上使用非二次幂纹理。在此处查看详细信息:stackoverflow.com/questions/4760174/…
-
iPhone 3G 兼容非 POT 纹理还是只兼容 iPhone3GS 以上?谢谢!
-
3GS 以上(新交所平台上的一切)。兼容性图表和详细信息:developer.apple.com/library/ios/#documentation/3DDrawing/…