深度缓冲是一个每次片段着色器渲染的时候都要比较当前片段的深度和之前片段的深度信息,从而决定哪个片段该被渲染在当前换面。
模板缓冲是一个我们确定的一个缓冲,我们可以通过在每次片段渲染的时候,把对应片段的模板缓冲改掉,这样渲染完成一个物体之后,对应物体的片段部分模板缓冲已经被改变了,然后我们可以重新渲染一次该物体,缩放一下,这样通过一定的模板测试,就可以剔除之前对应的片段,给物体的边缘做新的渲染。
之前讲的深度缓冲和模板缓冲都是帧缓冲的一种。帧缓冲可以替换目前对应的帧缓冲。帧缓冲可以绑定纹理附件和深度——模板附件。
纹理缓冲主要是用来像颜色缓冲一样的,把当前场景记录下来?
然后深度——模板缓冲(附加在渲染缓冲对象里)一般是只读信息,不去采样。
当把一个纹理附加到帧缓冲的时候,所有的渲染指令将会写入到这个纹理中,就想它是一个普通的颜色/深度或模板缓冲一样。使用纹理的优点是,所有渲染操作的结果将会被储存在一个纹理图像中,我们之后可以在着色器中很方便地使用它。
我们然后切换回默认的帧缓冲,把之前的帧缓冲纹理 当作一个普通的纹理图片来处理,就可以轻易改变对应场景的风格(就相当于把场景存储在一个照片里,我们只需要加载照片,然后改变照片像素的风格!)