Estoy desarrollando un juego para iPhone. Tengo la siguiente imagen de origen para dibujarla en segundo plano. La imagen de origen tiene alfa 0x00 y gradación alrededor del borde y el alfa del fondo es 0xff. Cuando dibujo la imagen de origen con el fondo, tengo el color negro como si pudiera ver la imagen de Resultado. Estoy utilizando el método OpenGL ES glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA). He cambiado todos los argumentos posibles, pero cada vez que no se mueve.iPhone opengl es alpha-blending. Tengo color negro en el borde
¿Por qué tengo el color negro en el borde de la imagen de origen? ¿Cuál es el problema? ¿No todos los juegos en el iPhone usan gradación?
¿Debo hacer la imagen de origen sin gradación?
¿Alguien conoce la solución? imagen
Fuente:
imagen Resultado:
alfa
De acuerdo, esto parece una típica multiplicación doble de alfa. – v01d
¿No debería ser ONE, ONE_MINUS_SRC_ALPHA? – rotoglup
Aquí hay un artículo que puede ser otra fuente de explicaciones: http://home.comcast.net/~tom_forsyth/blog.wiki.html#%5B%5BPremultiplied%20alpha%5D%5D – rotoglup