Я успешно реализовал повторное считывание GPU с использованием объектов Pixel Buffer на Android и OpenGL ES 3.0.
http://www.songho.ca/opengl/gl_pbo.html
Это особенно хорошо работает, если я двойной буфер, где я отображаю содержимое pbo из последнего кадра вместо текущего.
Это заставило меня задуматься. Почему бы не сделать это напрямую с glReadPixels? Могу ли я просто иметь несколько буферов FBO, и если они будут записаны во фреймы go, то не вызовет ли glReadPixels остановку процессора? В какой-то момент я мог бы попытаться провести эксперимент, но подумал, что у кого-нибудь есть возможность лучше понять, что происходит с glReadPixels.
Это может быть хорошим вариантом для более дешевых устройств OpenGL ES 2.0, которые не • Поддерживает все модные буферы PIXEL_PACK и другие функции OpenGL ES 3.0.