GL_POINTS + glDrawArrays不会绘制所有点,除非我在保留后退的每个“tile”/ OpenGL ES之后翻转

时间:2009-11-14 18:12:17

标签: iphone opengl-es

有谁知道为什么会这样:

我使用带有GL_POINTS(交错数组)的glDrawArrays绘制到2D屏幕。如果我在调用glDrawArrays之后翻转缓冲区(presentRenderbuffer) - 所以在绘制每个“tile”之后 - 一切正常。

这当然是效率低下的..所以如果我将presentRenderBuffer移到draw循环之外,我就会得到错误。基本上屏幕的一部分不会画,而且它总是在同一个地方(屏幕的中间,水平)。

我正在使用retainbacking(因为我只更新了更改过的图块),所以我需要依赖帧缓冲区在绘制之间保持相同,这样我就可以绘制它了。

任何想法为什么每个瓷砖之后的presentRenderBuffer工作正常,而所有的绘制后最后一个presenRenderBuffer不会?

编辑:此外,在平铺绘制循环中添加glFlush(),并在循环外移动presentRenderBuffer也会生成正确的图像。

0 个答案:

没有答案
相关问题