如果你需要从缓冲中采样颜色或深度值等数据,那么你应该选择纹理附件。性能方面它不会产生非常大的影响的。...<< std::endl;
glBindFramebuffer(GL_FRAMEBUFFER, 0);
完整代码在文末,参考教程代码
opengl-帧缓冲代码实现
把握大的思路:切换到自定义帧缓冲--...>离屏绘制-->切换到默认屏幕缓冲-->将前面的帧缓冲数据绘制到当前屏幕
这里用到了两个shader,第二个screenshader是二维的,因为自定义帧缓冲数据已经是处理好的二维数据,所以深度测试也没意义...0.0f, 1.0f,
1.0f, -1.0f, 1.0f, 0.0f,
1.0f, 1.0f, 1.0f, 1.0f
};
// cube VAO...glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void*)(3 * sizeof(float)));
// plane VAO