Skip to content

简介 ​

在 WebGL 中,后处理(Post-Processing)是指将整个场景渲染到一个帧缓冲对象(Framebuffer Object,FBO),然后再对这个渲染结果应用图像处理技术(通常是 Fragment Shader),再最终输出到屏幕。

通俗来说

后处理就相当于给场景增加滤镜和“美颜”。

基本流程 ​

  1. 场景绘制 → FBO(帧缓冲)
  2. FBO 作为纹理 → 传入全屏四边形
  3. 在 片元着色器Fragment Shader 中处理每个像素
  4. 将处理结果绘制到屏幕(Canvas)

下面就是一个叠加了抗锯齿、太阳射线光、镜头暗角、柔光、色彩校正曲线5个后处理效果的场景比对。原文链接

workflow

常见效果 ​

  • 模糊(Blur)
  • 边缘检测(Sobel)
  • 泛光(Bloom)
  • 色调映射(Color Grading)
  • 灰度、反色等滤镜
  • 动态扫描、闪烁、扭曲、抖动等视觉特效

Cesium已经内置了大量的后处理效果,比如抗锯齿、黑白,景深、马赛克等等,具体可见 Cesium官网示例 Post Processing 选项 。

具体应用 ​

在mgis中也大量应用了后处理,如:

MGis 地理三维库