2010-09-24 72 views
3

當我畫一個漸變填充用OpenGL,輸出看起來條紋,即它只有大約在第四的可能的顏色渲染。OpenGL的漸變填充在iPhone上看起來條紋

在渲染緩衝區中,所有的顏色都會出現,但不會出現在實際的輸出中。

我正在開發運行iOS4的iPhone 3G。

任何想法?

彼得

==========

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

請使用代碼示例格式化程序。此外,截圖實際與預期。 – genpfault 2010-09-24 22:24:00

+0

非常感謝您的評論。我添加了模擬器的圖片。在設備上它看起來一樣。 – Peter 2010-09-25 16:58:45

回答

2

明白了。

我需要指定kEAGLColorFormatRGBA8爲CAEAGLLayer性能。