Я использую OpenGL ES 2.0 и GLSL для рисования объектов.Затем я хочу прочитать пиксель из того, что рисует мой фрагментный шейдер на моем экране.Я смешиваю две текстуры в оттенках серого, и в конце моего фрагментного шейдера у меня есть:
gl_FragColor = vec4(something...blending textures);
Я знаю, что gl_FragColor означает, что конечный цвет будет записан в буфере кадра.(Согласно http://nehe.gamedev.net/article/glsl_an_introduction/25007/) Учитывая это, я сделал что-то вроде
GLubyte *pixels = new GLubyte[320*240];
glReadPixels(0, 0, 320,240, GL_LUMINANCE, GL_UNSIGNED_BYTE, pixels);
После рисования изображения, используя это, сначала я получаю то же самое, что и исходная текстура1, а затем получаю черный пустой цвет.Может кто-нибудь помочь мне, что не так? Нужно ли что-то делать с FBO? Я как-то потерян ... :(