2011-06-27 19 views
5

Trabajando en una aplicación de dibujo para ipad y usando el CCRenderTexture como lienzo sobre el que se pintan los sprites. El bucle de sorteo que uso se basa en el que está en el ejemplo de cocos para la clase de textura de renderizado.Error de OpenGL 500 en cocos2D-iphone en CCRenderTexture end

[target begin]; 

float distance = ccpDistance(start, end); 
if (distance > 1) { 
    int d = (int)distance; 
    float difx = end.x - start.x; 
    float dify = end.y - start.y; 
    for (float i = 0; i < d; i+=([self.currentBrush sprite].textureRect.size.width * [self.currentBrush sprite].scale)/4.0f) { 
     float delta = i/distance; 
     [[self.currentBrush sprite] setPosition:ccp(start.x + (difx * delta), start.y + (dify * delta))]; 
     [[self.currentBrush sprite] visit]; 
    } 
} else { 
    [[self.currentBrush sprite] setPosition:start]; 
    [[self.currentBrush sprite] visit]; 
} 

[target end]; 

cada vez que se llama [target end] consigo un error de OpenGL 0x0500:

OpenGL error 0x0500 in -[EAGLView swapBuffers] 

Parece estar basado en la función de mezcla {GL_ONE, GL_DST_COLOR} en los sprites que pinto en el 'lienzo'. Cuando uso {GL_ONE, GL_ONE} o {GL_ONE, GL_ONE_MINUS_SRC_ALPHA} (borrador) no me sale el mismo problema.

El problema existe en iOS 4.2 y 4.3 tanto en el dispositivo como en el simulador.

Esta es la primera vez que trabajo con OpenGL, así que me siento un poco perdido al tratar de encontrar una solución, cualquier ayuda sería muy apreciada.

[Update]

I eliminado todas las llamadas de función para ajustar la mezcla como el GL_DST_COLOR parecía ser el que causa el error. Después de eliminar las llamadas combinadas (excepto el borrador) aún se ve igual, así que estoy contento con eso.

Llegó a esta solución después de leer a cocos2d forum post con respecto al mismo problema.

+0

Parece que la publicación en el foro ya no existe? Tengo mucha curiosidad sobre lo que fue la discusión de Cocos2D. Tal vez el enlace estaba roto? –

Respuesta

0
May be It's bug in latest version of Cocos2d.It's give the warning and some time Performance is also decrease.I fetch same problem when we put Gesture on the view controller. 

Below link is a my question discussion. 


**http://stackoverflow.com/questions/21326063/glview-causes-opengl-error?noredirect=1#comment32164422_21326063** 
Cuestiones relacionadas