我們可以使用幀緩沖對象來實現離屏渲染。幀緩沖對象支持下列操作
1.只使用OpenGL ES 函數創建幀緩沖區對象。
2.使用EGL context創建多個FBO。
3.創建離屏顏色、深度、模板渲染緩沖區和紋理,把它們綁定到幀緩沖區對象上。
4.通過多種緩沖區共享顏色、深度、模板緩沖區內容。
5.把紋理作為顏色、深度直接關聯到幀緩沖區,避免使用拷貝操作。
6.FBO與無效FBO之間的復制。
Framebuffer and Renderbuffer Objects幀緩沖對象與渲染緩沖對象
渲染緩沖區對象是應用程序分配的2D圖像緩沖區。渲染緩沖區被用來存儲顏色、深度或模板值,能作為顏色、深度或模板關聯到一個幀緩沖區對象。渲染緩沖區和操作系統提供的離屏的繪制窗口pbuffer 有很多相似的地方。渲染緩沖區不能直接被GL 作為紋理使用。
FBO是一個顏色,深度和模板紋理或渲染目標的集合。各種2D 圖像能被關聯到幀緩沖區對象的顏色點上。
創建FBO與RBO
使用渲染緩沖區對象
注意在使用glBindRenderbuffer 綁定緩沖區前,glGenRenderbuffers 不要求去分配渲染緩沖區對象名字。雖然調用glGenRenderbuffers 是一個好的習慣,那仍然有很多應用程序在編譯時為它們的緩沖區指定常量。應用程序能指定一個不使用的渲染緩沖區對象名字去執行glBindRenderbuffer。我們建議使用glGenRenderbuffers 返回的名字替代應用程序自己指定緩沖區名字。
一旦渲染緩沖區對象被綁定,我們能指定渲染緩沖區內的存儲的圖像的尺寸和格式
使用FBO