Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone上的OpenGL渐变填充看起来有条纹_Iphone_Colors_Opengl Es_Gradient - Fatal编程技术网

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

iPhone上的OpenGL渐变填充看起来有条纹,iphone,colors,opengl-es,gradient,Iphone,Colors,Opengl Es,Gradient,当我使用OpenGL绘制渐变填充时,输出看起来是条带化的,也就是说,它只使用大约四分之一的可能颜色进行渲染 在渲染缓冲区中,所有颜色都会出现,但不会出现在实际输出中 我正在开发运行iOS4的iphone3g 有什么想法吗 彼得 ========== GLint redBits, greenBits, blueBits; glGetIntegerv (GL_RED_BITS, &redBits); // ==> 8 glGetIntegerv (GL_GREEN_BITS, &

当我使用OpenGL绘制渐变填充时,输出看起来是条带化的,也就是说,它只使用大约四分之一的可能颜色进行渲染

在渲染缓冲区中,所有颜色都会出现,但不会出现在实际输出中

我正在开发运行iOS4的iphone3g

有什么想法吗

彼得

==========

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);

==========

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);
明白了


我需要为CaeAglayer属性指定kEAGLColorFormatRGBA8。

请使用代码示例格式化程序。另外,截图实际与预期。非常感谢您的评论。我添加了一张模拟器的图片。在设备上,它看起来是一样的。