copy-pass.effect 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // Copyright (c) 2017-2023 Xiamen Yaji Software Co., Ltd.
  2. CCEffect %{
  3. techniques:
  4. - passes:
  5. - vert: copy-pass-vs
  6. frag: copy-pass-fs
  7. pass: copy-pass
  8. depthStencilState:
  9. depthTest: false
  10. depthWrite: false
  11. rasterizerState:
  12. cullMode: none
  13. blendState:
  14. targets:
  15. - blend: true
  16. blendSrc: src_alpha
  17. blendDst: one_minus_src_alpha
  18. blendSrcAlpha: src_alpha
  19. blendDstAlpha: one_minus_src_alpha
  20. }%
  21. CCProgram ubo %{
  22. #pragma rate CopyPassUBO pass
  23. uniform CopyPassUBO {
  24. float flip;
  25. };
  26. #pragma rate outputResultMap pass
  27. uniform sampler2D outputResultMap;
  28. }%
  29. CCProgram copy-pass-vs %{
  30. precision highp float;
  31. #include <legacy/decode-standard>
  32. #include <common/common-define>
  33. #include <ubo>
  34. out vec2 v_uv;
  35. void main() {
  36. StandardVertInput In;
  37. CCDecode(In);
  38. CC_HANDLE_CLIP_FLIP_FROM_VAL(In.position.xy, flip);
  39. gl_Position = In.position;
  40. v_uv = a_texCoord;
  41. }
  42. }%
  43. CCProgram copy-pass-fs %{
  44. precision highp float;
  45. in vec2 v_uv;
  46. #include <ubo>
  47. layout(location = 0)out vec4 fragColor;
  48. void main() {
  49. fragColor = texture(outputResultMap, v_uv);
  50. }
  51. }%