我有四个 VBO(BufferA、BufferB、BufferC 和 BufferD)和两个程序(program1 和 program2)。逻辑的主要步骤是:
glUseProgram(progran1);
glBindBuffer(GL_ARRAY_BUFFER, BufferA);
glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, BufferB);
glBeginTransformFeedback(GL_POINTS);
glDrawArrays(GL_POINTS, 0, Vertex1Count);
glEndTransformFeedback();
swap(BufferA, BufferB);
glUseProgram(progran2);
glBindBuffer(GL_ARRAY_BUFFER, BufferC);
glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, BufferD);
glBeginTransformFeedback(GL_POINTS);
glDrawArrays(GL_POINTS, 0, Vertex2Count);
glEndTransformFeedback();
swap(BufferC, BufferD);
问题:我需要做什么才能从 program2 访问 BufferB?我可以以某种方式将 BufferB 绑定为纹理并使用 texelfetch 读取它吗?
我正在使用 iOS 7 和 OpenGL es 3.0