newTexture.frag 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #version 430
  2. uniform samplerBuffer sb;
  3. uniform sampler2DRect sr;
  4. uniform sampler2D s2D;
  5. uniform sampler3D s3D;
  6. uniform samplerCube sCube;
  7. uniform samplerCubeShadow sCubeShadow;
  8. uniform sampler2DShadow s2DShadow;
  9. uniform sampler2DArray s2DArray;
  10. uniform sampler2DArrayShadow s2DArrayShadow;
  11. uniform isampler2D is2D;
  12. uniform isampler3D is3D;
  13. uniform isamplerCube isCube;
  14. uniform isampler2DArray is2DArray;
  15. uniform isampler2DMS is2Dms;
  16. uniform usampler2D us2D;
  17. uniform usampler3D us3D;
  18. uniform usamplerCube usCube;
  19. uniform usampler2DArray us2DArray;
  20. in float c1D;
  21. in vec2 c2D;
  22. in vec3 c3D;
  23. in vec4 c4D;
  24. flat in int ic1D;
  25. flat in ivec2 ic2D;
  26. flat in ivec3 ic3D;
  27. flat in ivec4 ic4D;
  28. out vec4 FragData;
  29. void main()
  30. {
  31. vec4 v = texture(s2D, c2D);
  32. v += textureProj(s3D, c4D);
  33. v += textureLod(s2DArray, c3D, 1.2);
  34. v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
  35. v += texelFetch(s3D, ic3D, ic1D);
  36. v += texelFetchOffset(s2D, ic2D, 4, ivec2(3));
  37. v += texelFetchOffset(sr, ic2D, ivec2(4));
  38. v.y += textureLodOffset(s2DShadow, c3D, c1D, ivec2(3));
  39. v += textureProjLodOffset(s2D, c3D, c1D, ivec2(3));
  40. v += textureGrad(sCube, c3D, c3D, c3D);
  41. v.x += textureGradOffset(s2DArrayShadow, c4D, c2D, c2D, ivec2(3));
  42. v += textureProjGrad(s3D, c4D, c3D, c3D);
  43. v += textureProjGradOffset(s2D, c3D, c2D, c2D, ivec2(3));
  44. ivec4 iv = texture(is2D, c2D);
  45. v += vec4(iv);
  46. iv = textureProjOffset(is2D, c4D, ivec2(3));
  47. v += vec4(iv);
  48. iv = textureProjLod(is2D, c3D, c1D);
  49. v += vec4(iv);
  50. iv = textureProjGrad(is2D, c3D, c2D, c2D);
  51. v += vec4(iv);
  52. iv = texture(is3D, c3D, 4.2);
  53. v += vec4(iv);
  54. iv = textureLod(isCube, c3D, c1D);
  55. v += vec4(iv);
  56. iv = texelFetch(is2DArray, ic3D, ic1D);
  57. v += vec4(iv);
  58. iv += texelFetch(is2Dms, ic2D, ic1D);
  59. v += vec4(iv);
  60. v += texelFetch(sb, ic1D);
  61. v += texelFetch(sr, ic2D);
  62. ivec2 iv2 = textureSize(sCubeShadow, 2);
  63. // iv2 += textureSize(is2Dms);
  64. FragData = v + vec4(iv2, 0.0, 0.0);
  65. }