我正在研究openGL ES2.0和glsl,我对FBO有疑问。 我在我的openGL ES2.0代码上传递两个纹理,并通过glsl着色器,特别是片段着色器,我减去两个纹理并制作二进制图像,就像opencv treshold函数一样。我的问题是我不确定是否应该为我的FBO使用Renderbuffer或纹理对象。我必须选择一个,因为我只能使用1种颜色附件(由于openGL ES2.0的限制)。由于我的片段着色器之后的输出图像将是二进制图像(黑色或白色),不应该是Renderbuffer对象吗?
答案 0 :(得分:2)
纹理是一系列图像,可以从(通过常规纹理方式)读取并通过FBO渲染。渲染缓冲区是一个只能 渲染的图像。
您应该将渲染缓冲区用于仅用作渲染目标的图像。如果您以后需要从中进行采样,则应使用纹理。