【发布时间】:2009-06-06 19:20:53
【问题描述】:
我正在使用 CrashLanding 示例代码中的 Texture2D 类。在模拟器和手机中,我的图像周围都出现了奇怪的伪影。工件是纹理周围的灰色小边框。边界不一致,不包围整个纹理。我正在使用 png。
【问题讨论】:
我正在使用 CrashLanding 示例代码中的 Texture2D 类。在模拟器和手机中,我的图像周围都出现了奇怪的伪影。工件是纹理周围的灰色小边框。边界不一致,不包围整个纹理。我正在使用 png。
【问题讨论】:
嘿 MrDatabase - 听起来问题在于您的纹理图像具有预乘 alpha。我在 iPhone 上也遇到过这个问题——它在构建应用程序时执行的 PNG 压缩会自动预乘所有 alpha 值。如果您使用的是glBlend(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA),那么您基本上是应用了两次alpha - 请尝试改用glBlend(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)。 Apple 论坛上有很多关于此的内容:-)
【讨论】:
你的纹理都是宽度和高度的 2 次方吗?如果不是,那可能是你的问题。
我也遇到了纹理小于特定尺寸的问题。我记得有人说过,对于小纹理,分配后清除内存。在 Texture2D 源中将 malloc 更改为 calloc 解决了该问题。
【讨论】: