gpt4 book ai didi

java - Android:OpenGL ES:无法处理太宽的纹理?

转载 作者:搜寻专家 更新时间:2023-11-01 09:07:19 25 4
gpt4 key购买 nike

我有一个 OpenGL ES 游戏应用程序,它使用一个 PNG Sprite ,水平方向有 27 帧,代表一个动画怪物。因此,我的 PNG 当前为 27 * 96 像素宽和 96 像素高。

我最近给它添加了新的动画,所以它变成了 57 帧,现在是 57 * 96 也就是 5000 px 多一点宽。现在我的纹理只显示为白色方 block !?

我用不同的图像、大小(以 KB 为单位)和分辨率对其进行了测试,我发现任何宽度超过 4000 像素的纹理都会得到这个白色方 block ,无论文件大小如何。

是内存问题吗?
您有任何修复它的想法吗?

我正在 HTC Desire 上进行测试,我相信它可以与 Adreno 200 GPU 一起运行。

最佳答案

OpenGL 实现具有最大纹理宽度和高度,无论是桌面还是移动设备。你应该做的是当动画纹理变得太宽时,简单地开始一个新行。如果您将 glEnvironment 与 GL_MAX_TEXTURE_SIZE 一起使用,您可以找出设备的最大纹理大小:opengl.org/wiki/Textures_-_more .

请注意,它取决于硬件,因此对于您的 HTC,它可能是 4096(实际上大得惊人),但对于大多数其他手机(尤其是较旧的手机)来说肯定更小。

关于java - Android:OpenGL ES:无法处理太宽的纹理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10970292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com