将glReadBuffer()/ glDrawBuffer()调用转换为OpenGL ES

时间:2011-01-09 18:45:37

标签: opengl-es buffer

我无法理解如何移植glReadBuffer()& glDrawBuffer()调用Open GL ES 1.1。互联网上的各种论坛帖子只是说“使用维也纳国际中心”,而不是更深入。

你能帮我理解一次适当的转换吗?说我有:

glReadBuffer(GL_FRONT);

接着是

glDrawBuffer(GL_BACK_LEFT);
state->paint(state_id, f);

如何写出像素?

1 个答案:

答案 0 :(得分:7)

glReadBufferglDrawBuffer只需为后续绘图操作设置源和目标。假设你的目标是monoscopic设备,比如iPhone或Android设备,并且已经请求了两个缓冲区,那么你已经设置了绘制到后台缓冲区。在GL ES中读取颜色缓冲区的唯一方法是glReadPixels,它将从您绘制的相同缓冲区中读取。

所有这些都与VBO完全无关,VBO将数据数组的管理传递给驱动程序,通常隐含地允许将它们放入GPU的直接地址空间。