sai.vert 774 B

123456789101112131415161718192021222324252627282930313233
  1. uniform mat4 u_mvpMatrix;
  2. uniform vec3 texSize;
  3. in vec4 a_position;
  4. in vec3 a_texCoord;
  5. out vec4 posABCD;
  6. out vec4 posEL;
  7. out vec4 posGJ;
  8. out vec3 scaled;
  9. out vec2 videoCoord;
  10. void main()
  11. {
  12. gl_Position = u_mvpMatrix * a_position;
  13. vec2 texStep = 1.0 / texSize.xy;
  14. posABCD.xy = a_texCoord.xy;
  15. posABCD.zw = a_texCoord.xy + texStep * vec2( 1.0, 1.0);
  16. posEL.xy = a_texCoord.xy + texStep * vec2( 0.0, -1.0);
  17. posEL.zw = a_texCoord.xy + texStep * vec2( 1.0, 2.0);
  18. posGJ.xy = a_texCoord.xy + texStep * vec2(-1.0, 0.0);
  19. posGJ.zw = a_texCoord.xy + texStep * vec2( 2.0, 1.0);
  20. scaled.x = a_texCoord.x * texSize.x;
  21. scaled.y = (1.0 - a_texCoord.x) * texSize.x;
  22. scaled.z = a_texCoord.y * texSize.y;
  23. #if SUPERIMPOSE
  24. videoCoord = a_texCoord.xz;
  25. #endif
  26. }