spv.texture.frag 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #version 140
  2. uniform sampler1D texSampler1D;
  3. uniform sampler2D texSampler2D;
  4. uniform sampler3D texSampler3D;
  5. uniform samplerCube texSamplerCube;
  6. uniform sampler1DShadow shadowSampler1D;
  7. uniform sampler2DShadow shadowSampler2D;
  8. varying float blend;
  9. varying vec2 scale;
  10. varying vec4 u;
  11. in vec2 t;
  12. in vec2 coords2D;
  13. void main()
  14. {
  15. float blendscale = 1.789;
  16. float bias = 2.0;
  17. float lod = 3.0;
  18. float proj = 2.0;
  19. float coords1D = 1.789;
  20. vec3 coords3D = vec3(1.789, 2.718, 3.453);
  21. vec4 coords4D = vec4(1.789, 2.718, 3.453, 2.0);
  22. vec4 color = vec4(0.0, 0.0, 0.0, 0.0);
  23. color += texture (texSampler1D, coords1D);
  24. color += texture (texSampler1D, coords1D, bias);
  25. color += textureProj(texSampler1D, coords2D);
  26. color += textureProj(texSampler1D, coords4D);
  27. color += textureProj(texSampler1D, coords2D, bias);
  28. color += textureProj(texSampler1D, coords4D, bias);
  29. color += texture (texSampler2D, coords2D);
  30. color += texture (texSampler2D, coords2D, bias);
  31. color += textureProj (texSampler2D, coords3D);
  32. color += textureProj (texSampler2D, coords4D, bias);
  33. color += texture (texSampler3D, coords3D);
  34. color += texture (texSampler3D, coords3D, bias);
  35. color += textureProj (texSampler3D, coords4D);
  36. color += textureProj (texSampler3D, coords4D, bias);
  37. color += texture (texSamplerCube, coords3D);
  38. color += texture (texSamplerCube, coords3D, bias);
  39. color += texture (shadowSampler1D, coords3D);
  40. color += texture (shadowSampler1D, coords3D, bias);
  41. color += texture (shadowSampler2D, coords3D);
  42. color += texture (shadowSampler2D, coords3D, bias);
  43. color += textureProj (shadowSampler1D, coords4D);
  44. color += textureProj (shadowSampler1D, coords4D, bias);
  45. color += textureProj (shadowSampler2D, coords4D);
  46. color += textureProj (shadowSampler2D, coords4D, bias);
  47. ivec2 iCoords2D = ivec2(0, 5);
  48. int iLod = 1;
  49. color += texelFetch(texSampler2D, iCoords2D, iLod);
  50. vec2 gradX = dFdx(coords2D);
  51. vec2 gradY = dFdy(coords2D);
  52. const ivec2 offset = ivec2(3, -7);
  53. color += textureGrad(texSampler2D, coords2D, gradX, gradY);
  54. color += textureProjGrad(texSampler2D, vec3(coords2D, proj), gradX, gradY);
  55. color += textureGradOffset(texSampler2D, coords2D, gradX, gradY, offset);
  56. color += textureProjGradOffset(texSampler2D, coords3D, gradX, gradY, offset);
  57. color += textureGrad(shadowSampler2D, vec3(coords2D, lod), gradX, gradY);
  58. gl_FragColor = mix(color, u, blend * blendscale);
  59. }