MsFsCommon.glsl 1.1 KB

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