MsFsCommon.glsl 972 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright (C) 2009-2016, Panagiotis Christopoulos Charitos.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #pragma anki include "shaders/Common.glsl"
  6. // Misc
  7. #define COLOR 0
  8. #define DEPTH 1
  9. // Generic functions because materials cannot use operators
  10. #define add_DEFINED
  11. #define add(a, b) ((a) + (b))
  12. #define mul_DEFINED
  13. #define mul(a, b) ((a) * (b))
  14. #define assign_DEFINED
  15. #define assign(a, b) ((a) = (b))
  16. #define vec4ToVec3_DEFINED
  17. #define vec4ToVec3(a) ((a).xyz)
  18. #define vec3ToVec4_DEFINED
  19. #define vec3ToVec4(a, w) (vec4((a), (w)))
  20. #define getW_DEFINED
  21. #define getW(a) ((a).w)
  22. #define setW_DEFINED
  23. #define setW(a, b) ((a).w = (b))
  24. // Read from animated texture
  25. #define readAnimatedTextureRgba_DEFINED
  26. vec4 readAnimatedTextureRgba(sampler2DArray tex, float layerCount, float period,
  27. vec2 uv, float time)
  28. {
  29. float layer = mod(time * layerCount / period, layerCount);
  30. return texture(tex, vec3(uv, layer));
  31. }