У меня есть четыре 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);
Вопросы: Что мне нужно сделать, чтобы получить доступ к BufferB из программы2? Могу ли я каким-то образом связать BufferB как текстуру и прочитать ее с помощью texelfetch?
Я использую iOS 7 и OpenGL es 3.0.