# 后期处理

vc-stage-process-post 组件用于加载一组后期处理,如加载自定义着色器。

# 示例

# 加载后期处理的着色器

# 预览

收起
  <template>
    <div class="viewer">
      <vc-viewer @ready="ready" >
        <vc-stage-process-post :fragmentShader="fragmentShader"></vc-stage-process-post>
      </vc-viewer>
    </div>
  </template>

  <script>
    export default {
      data () {
        return {
          fragmentShader: `
            uniform sampler2D colorTexture;
            varying vec2 v_textureCoordinates;
            float hash(float x){
              return fract(sin(x*23.3)*13.13);
            }
            void main(void){
              float time = czm_frameNumber / 60.0;
              vec2 resolution = czm_viewport.zw;
              vec2 uv=(gl_FragCoord.xy*2.-resolution.xy)/min(resolution.x,resolution.y);
              vec3 c=vec3(.6,.7,.8);
              float a=-.4;
              float si=sin(a),co=cos(a);
              uv*=mat2(co,-si,si,co);
              uv*=length(uv+vec2(0,4.9))*.3+1.;
              float v=1.-sin(hash(floor(uv.x*100.))*2.);
              float b=clamp(abs(sin(20.*time*v+uv.y*(5./(2.+v))))-.95,0.,1.)*20.;
              c*=v*b;
              gl_FragColor = mix(texture2D(colorTexture, v_textureCoordinates), vec4(c,1), 0.5);
            }  `
        }
      },
      methods: {
        ready (cesiumInstance) {
          this.cesiumInstance = cesiumInstance
          const {Cesium, viewer} = this.cesiumInstance
        }
      }
    }
  </script>

# 属性

属性名 类型 默认值 描述
fragmentShader String required 指定着色器代码。
uniforms Object optional 指定着色器 uniforms 参数。uniform变量一般用来表示:变换矩阵,材质,光照参数和颜色等信息。
textureScale Number 1.0 optional 指定纹理尺寸缩放比例,取值范围 (0.0, 1.0] 。
forcePowerOfTwo Boolean false optional 是否强制将纹理尺寸都等于2的幂。 2的幂将是最小维度中2的下一个幂。
sampleMode Number 0 optional 指定输入颜色纹理的采样方式。 {NEAREST: 0, LINEAR: 1}
pixelFormat Number optional 指定输出纹理的像素格式。
pixelDatatype Number optional 指定输出纹理的数据类型。
clearColor Object|Array|String BLACK optional 指定清除输出纹理的颜色。
scissorRectangle Object optional 指定用于测试的矩形。
name String optional 指定唯一名称,未提供默认生成GUID。

# 事件

事件名 参数 描述
ready {Cesium, viewer} 该组件渲染完毕时触发,返回 Cesium 类, viewer 实例。