帧缓存
到目前为止,我们已经使用了很多屏幕缓冲了:用于写入颜色值的颜色缓冲、用于写入深度信息的深度缓冲和允许我们根据一些条件丢弃特定片段的模板缓冲。***这些缓冲结合起来叫做帧缓冲(Framebuffer)***,它被储存在内存中。OpenGL允许我们定义我们自己的帧缓冲,也就是说我们能够定义我们自己的颜色缓冲,甚至是深度缓冲和模板缓冲。
帧缓存实现效果:
啊这,好像没能体现什么特别的。
那我们再在代码中加入
//线框模式绘制
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
那么发现了实际上默认的帧缓冲只是画了一条线,说明我们渲染出的效果实际上就是我们自己定义的帧缓冲做到的。
回过头好好研究代码。
unsigned int framebuffer;//定义帧缓冲
glGenFramebuffers(1, &framebuffer);//创建一个帧缓冲
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);//绑定帧缓冲
和VAO,VBO类似,我们