【发布时间】:2012-06-11 02:51:48
【问题描述】:
我有一个 OpenGL ES 游戏应用程序,它使用一个横向 27 帧的 PNG 精灵来表示一个动画怪物。所以,我的 PNG 目前是 27 * 96 px 宽和 96 px 高。
我最近添加了新的动画,所以它变成了 57 帧,现在它是 57 * 96,比 5000 像素多一点宽。现在我的纹理只是显示为白色方块!?
我用不同的图像、大小(以 KB 为单位)和分辨率对其进行了测试,我发现任何大于 4000 像素的纹理都会得到这个白色方块,无论文件大小如何。
是内存问题吗?
您对修复它有什么想法吗?
我正在 HTC Desire 上进行测试,我相信它与 Adreno 200 GPU 一起运行。
【问题讨论】:
-
OpenGL 实现具有最大纹理宽度和高度,无论是桌面还是移动。你应该做的是当动画纹理变得太宽时,只需重新开始。
-
我不知道..你有一些参考链接吗?
-
如果你使用 glEnvironment 和 GL_MAX_TEXTURE_SIZE,你可以找到你设备的最大纹理尺寸:opengl.org/wiki/Textures_-_more 注意它取决于硬件,所以你的 HTC 可能是 4096(它实际上大得惊人),但对于大多数其他手机(尤其是较旧的手机)来说肯定更小。
-
是的,我刚刚发现 :) 将其作为答案发送,以便我接受。
-
你真是太好了 :)
标签: java graphics opengl-es android