通过fbo实现离线渲染流程如下:
主渲染流程,使用系统默认的缓冲区对象
保存OpenGL现场
—————————>> bind FBO
a) glClear 清空FBO对应的各种缓冲区内容
b) 在离线渲染之前,往颜色缓冲区中添加内容,如背景图片
c) set projectionMatrix
d) set modelviewMatrix
e) all draw calls // draw some stuff
f) glReadPixels // 如果需要,渲染结果图片从显存调入内存,在后续主渲染流程中创建纹理对象使用。
glCopyTexImage2D使用帧缓冲区的数据定义纹理单元,像素直接从颜色缓冲区读取,功能类似glCopyPixels
如果颜色缓冲区采用 纹理对象,后续在主渲染流程中 可以直接使用该纹理进行绘制
<<————————— unbind FBO
回到主渲染流程