我是OpenGLES编码的新手。我使用的是ES2.0版本。我需要从framebuffer中读取,我正在使用glClearColor(0.5, 0.5, 0.5, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glDrawArrays ( GL_TRIANGLES, 0, 3 );
glReadPixels(0, 0, width,height, GL_RGB,GL_UNSIGNED_BYTE,pixels);
eglSwapBuffers(gl.display, gl.surface);
。但我填充的缓冲区全部为零。我正在使用ti omapdrm进行gl显示和曲面创建。
我的渲染线程如下所示:
void main()
{
gl_FragColor = vec4 ( 1.0, 0.0, 0.0, 1.0 );
}
My Fragment着色器:
void main()
{
gl_Position = vPosition;
}
我的顶点着色器:
glReadPixels
我正在显示正确的输出,但我的8080
有一些问题。
如果我使用GL_RGBA而不是GL_RGB,我收到错误:
PVR :(错误):glReadPixels:无法获得跨步数据
非常感谢任何帮助。
此致 Thushara。