Skip to content

简介

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

通俗来说

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

基本流程

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

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

workflow

常见效果

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

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

具体应用

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

MGis 地理三维库