2010-09-24 2 views
3

Lorsque je dessine un remplissage dégradé avec OpenGL, la sortie semble rayée, c'est-à-dire qu'elle est rendue avec seulement environ le quart des couleurs possibles.Le remplissage dégradé OpenGL sur l'iPhone semble rayé

Dans le tampon de rendu, toutes les couleurs apparaissent mais pas dans la sortie réelle.

Je suis en train de développer sur iPhone 3G sous iOS4.

Des idées?

Peter

==========

alt text

==========

GLint redBits, greenBits, blueBits; 
glGetIntegerv (GL_RED_BITS, &redBits); // ==> 8 
glGetIntegerv (GL_GREEN_BITS, &greenBits); // ==> 8 
glGetIntegerv (GL_BLUE_BITS, &blueBits); // ==> 8 

glDisable(GL_BLEND); 
glDisable(GL_DITHER); 
glDisable(GL_FOG); 
glDisable(GL_LIGHTING); 
glDisable(GL_TEXTURE_2D); 
glShadeModel(GL_SMOOTH); 

const GLfloat vertices[] = { 
0, 0, 
320, 0, 
0, 480, 
320, 480, 
}; 

const GLubyte colors[] = { 
255, 255, 255, 255, 
255, 255, 255, 255, 
200, 200, 200, 255, 
200, 200, 200, 255, 
}; 

glVertexPointer(2, GL_FLOAT, 0, vertices); 
glEnableClientState(GL_VERTEX_ARRAY); 
glColorPointer(4, GL_UNSIGNED_BYTE, 0, colors); 
glEnableClientState(GL_COLOR_ARRAY); 
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); 
+0

Veuillez utiliser le formateur d'exemple de code. En outre, capture d'écran réelle par rapport à prévu. – genpfault

+0

Merci beaucoup pour votre commentaire. J'ai ajouté une photo du simulateur. Sur l'appareil, il ressemble pareil. – Peter

Répondre

2

Got it.

Je devais spécifier kEAGLColorFormatRGBA8 pour les propriétés CAEAGLLayer.

Questions connexes