Creator3D:shader7_尽然还有双pass这波操作

前言

此时此刻终于体会到啥叫从入门到放弃,从接触到现在半个月,前两天有人给我提到了双pass,整个人瞬间就郁闷了,一个pass还没整明白,咋还有双pass呢,上网查了一下,我的天,尽然还有多pass。

正文

1.实现

郁闷归郁闷,既然入坑了,就要坚持。下面大概说一双pass的使用,其实就是一个pass下定义了两组顶点着色器和片元着色器的入口,大概代码如下

// Effect Syntax Guide: https://github.com/cocos-creator/docs-3d/blob/master/zh/material-system/effect-syntax.md

CCEffect %{
  techniques:
  - name: opaque
    passes:
    - vert: general-vs:vert # builtin header
      frag: unlit-fs:frag
      properties: &props
        mainTexture:    { value: white }
        mainColor:      { value: [1, 1, 1, 1], editor: { type: color } }
  - name: transparent
    passes:
    - vert: unlit-vs:vert 
      frag: unlit-fs:frag 
    - vert: custom-vs:vert 
      frag: custom-fs:frag 
      blendState:
        targets:
        - blend: true
          blendSrc: src_alpha
          blendDst: one_minus_src_alpha
          blendSrcAlpha: src_alpha
          blendDstAlpha: one_minus_src_alpha
      rasterizerState:
        cullMode: none
      properties: *props
}%
//第一个pass
CCProgram unlit-vs %{
  ...
  vec4 vert () {
     ....
  }
}%
CCProgram unlit-fs %{
  ....
  vec4 frag () {
    ...
  }
}%
//第二个pass
CCProgram custom-vs %{
  ...
  vec4 vert () {
     ....
  }
}%
CCProgram custom-fs %{
  ....
  vec4 frag () {
    ...
  }
}%
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。