iPhone上的OpenGL渐变填充看起来有条纹

3
当我使用OpenGL绘制渐变填充时,输出结果看起来有条纹,即它只使用了可能颜色的四分之一左右。
在渲染缓冲区中,所有颜色都出现了,但实际输出结果却没有。
我正在iPhone 3G上运行iOS4进行开发。
有什么想法吗?
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);

请使用代码示例格式化程序。此外,请截取实际和预期的屏幕截图。 - genpfault
非常感谢您的评论。我已经添加了模拟器的图片。在设备上看起来是一样的。 - Peter
1个回答

2

明白了。

我需要在CAEAGLLayer属性中指定kEAGLColorFormatRGBA8。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接