webgl渲染管线中的帧缓存,有什么内容
webgl渲染管线中帧缓存,是渲染流程的最终目的地,也是GPU与屏幕之间的桥梁。它本质上是GPU内存中一块特殊区域,存储了渲染结果的所有必要信息
帧缓存中四大核心缓冲区
颜色缓冲区
- 作用 : 存储每个像素的最终颜色值
- 特征:可以通过 gl.clearColor() 设置默认值。
片元着色器的输出 (gl_FragColor)写入此缓冲区内
深度缓冲区
- 作用 : 存储每个像素的深度值(Z值),用于深度测试,解决3D物体遮挡关系
- 深度值范围通常为 [0, 1] 近裁剪面 与 远裁剪面。
- 通过gl.enable(gl.DEPTH_TEST)启用深度测试。
模版缓存区
- 作用 : 基于模板值的掩码机制,实现区域选择性渲染,如轮廓描边,镜子效果。
积累缓冲区
- 作用 : 将多次渲染结果叠加混合,用于实现运动模糊,抗锯齿等高级效果
帧缓存的核心价值
- 离屏渲染
实现阴影贴图,环境反射等效果 - 后处理
将场景渲染到纹理,再通过着色器进行模糊,景深,HDR