| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // Copyright (C) 2009-2016, Panagiotis Christopoulos Charitos and contributors.
- // All rights reserved.
- // Code licensed under the BSD License.
- // http://www.anki3d.org/LICENSE
- #ifndef ANKI_SHADERS_MS_FS_COMMON_GLSL
- #define ANKI_SHADERS_MS_FS_COMMON_GLSL
- #include "shaders/Common.glsl"
- // Misc
- #define COLOR 0
- #define DEPTH 1
- // Generic functions because materials cannot use operators
- #define add_DEFINED
- #define add(a, b) ((a) + (b))
- #define mul_DEFINED
- #define mul(a, b) ((a) * (b))
- #define assign_DEFINED
- #define assign(a, b) ((a) = (b))
- #define vec4ToVec3_DEFINED
- #define vec4ToVec3(a) ((a).xyz)
- #define vec3ToVec4_DEFINED
- #define vec3ToVec4(a, w) (vec4((a), (w)))
- #define getW_DEFINED
- #define getW(a) ((a).w)
- #define setW_DEFINED
- #define setW(a, b) ((a).w = (b))
- // Read from animated texture
- #define readAnimatedTextureRgba_DEFINED
- vec4 readAnimatedTextureRgba(sampler2DArray tex, float layerCount, float period, vec2 uv, float time)
- {
- float layer = mod(time * layerCount / period, layerCount);
- return texture(tex, vec3(uv, layer));
- }
- #endif
|