sprites.fragment.js 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. // Do not edit.
  2. import { ShaderStore } from "../Engines/shaderStore.js";
  3. import "./ShadersInclude/fogFragmentDeclaration.js";
  4. import "./ShadersInclude/fogFragment.js";
  5. import "./ShadersInclude/imageProcessingCompatibility.js";
  6. const name = "spritesPixelShader";
  7. const shader = `uniform bool alphaTest;varying vec4 vColor;varying vec2 vUV;uniform sampler2D diffuseSampler;
  8. #include<fogFragmentDeclaration>
  9. #define CUSTOM_FRAGMENT_DEFINITIONS
  10. #ifdef PIXEL_PERFECT
  11. vec2 uvPixelPerfect(vec2 uv) {vec2 res=vec2(textureSize(diffuseSampler,0));uv=uv*res;vec2 seam=floor(uv+0.5);uv=seam+clamp((uv-seam)/fwidth(uv),-0.5,0.5);return uv/res;}
  12. #endif
  13. void main(void) {
  14. #define CUSTOM_FRAGMENT_MAIN_BEGIN
  15. #ifdef PIXEL_PERFECT
  16. vec2 uv=uvPixelPerfect(vUV);
  17. #else
  18. vec2 uv=vUV;
  19. #endif
  20. vec4 color=texture2D(diffuseSampler,uv);float fAlphaTest=float(alphaTest);if (fAlphaTest != 0.)
  21. {if (color.a<0.95)
  22. discard;}
  23. color*=vColor;
  24. #include<fogFragment>
  25. gl_FragColor=color;
  26. #include<imageProcessingCompatibility>
  27. #define CUSTOM_FRAGMENT_MAIN_END
  28. }`;
  29. // Sideeffect
  30. ShaderStore.ShadersStore[name] = shader;
  31. /** @internal */
  32. export const spritesPixelShader = { name, shader };
  33. //# sourceMappingURL=sprites.fragment.js.map