Unity如何支持Framebuffer Fetch

  • Unity默认没有支持FrameBufferFetch,需要打开开关ShaderRequirements.FramebufferFetch
  • Shader内的修改
    • 需要定义#pragma only_renderers framebufferfetch
    • 在fragment的函数头需要将target buffer定义成inout,例如
      • void frag(v2f i, inout fixed4 ocol : SV_Target) { i.color = frac(i.color); ocol.rg = i.color.rg; ocol.b *= 1.5; }
「蓝色协议」制作流程样例实时动画后期