我使用OpenGL ES 2.0和GLSL繪製對象。 然後,我想從任何我的片段着色器在屏幕上繪製的像素中讀取像素。 我摻混兩種灰度紋理和我的片段着色器的最後,我有:GLSL和glReadPixelels
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);
使用,在第一次,我得到原來一樣texture1然後拿到黑空彩色圖像繪製後。有人可以幫我解決什麼問題嗎?我需要和FBO做些什麼嗎?我是一個有點失去了... :(
我想glReadPixels後,你更新你的紋理輸入到下一幀的着色器之一?發佈一些更多的代碼來更新紋理,也許錯誤在那裏。 –
請向我們展示您的程序中的代碼,這些代碼正在發佈。 – datenwolf