Error de mezcla Alpha de OpenGL después de la actualización de iOS7

Después de la actualización del IOS 7, veo un error con el renderizado de imágenes con GL_BLEND habilitado y la function de mezcla establecida en GL_ONE, GL_ONE_MINUS_SRC_ALPHA. He comprobado que los dispositivos que no se han actualizado al IOS 7 no muestran este problema.

Explicación de lo que estoy viendo. -Imágenes que tienen cualquier alfa que no sea cero renderizado como no transparente (opaco).

Esto resultó en mostrar contornos blancos alnetworkingedor del arte que se mezclaban con alfa completa para esconder bordes irregulares.

introduzca la descripción de la imagen aquí

Observe los artefactos de representación alnetworkingedor de cada una de las partes que componen este pequeño tipo.

Otra cosa a tener en count es que las imágenes de arte NO están comprimidas en PVR4.

Tenga en count nuevamente que todo esto funcionó antes del IOS7 sin errores charts.

Gracias por tu ayuda..

Render Notas: glEnable (GL_BLEND) glBlendEquation (GL_FUNC_ADD) glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA)

Después de analizar esto … he llegado a pensar que algo ha cambiado con el alfa precomstackdo. No tengo idea de lo que podría haber cambiado en iOS 7 … Todavía estoy trabajando en esto.

Resuelto Mi entendimiento es que la llamada textureWithContentsOfFile sin decir que usted quería GLKTextureLoaderApplyPremultiplication en nuestro caso parecía producir una image que tenía un alfa premultiplicado. Al agregar a las opciones que SÍ queríamos que lo hiciera … todo ahora en iOS7 está funcionando.

Si está utilizando para cargar texturas, el método -textureWithContentsOfFile:options:error de GLKTextureLoader , entonces podría intentar agregar GLKTextureLoaderApplyPremultiplication establecido en YES al dictionary de opciones.

 NSDictionary * options = @{GLKTextureLoaderApplyPremultiplication:@YES}; NSError *err; GLKTextureInfo *ti = [GLKTextureLoader textureWithContentsOfFile:path options:options error:&err];