| 123456789101112131415161718192021222324252627 |
- //
- // Material properties uniform
- //
- uniform vec3 Material[5];
- // Macros to access elements inside the MatTexinfo array
- // Each texture uses 3 vec2 elements.
- #define MatAmbientColor Material[0]
- #define MatDiffuseColor Material[1]
- #define MatEmissiveColor Material[2]
- #define MatSpecularColor Material[3]
- #define MatShininess Material[4].x
- #define MatOpacity Material[4].y
- #if MAT_TEXTURES > 0
- // Texture unit sampler array
- uniform sampler2D MatTexture[MAT_TEXTURES];
- // Texture parameters (3*vec2 per texture)
- uniform vec2 MatTexinfo[3*MAT_TEXTURES];
- // Macros to access elements inside the MatTexinfo array
- // Each texture uses 3 vec2 elements.
- #define MatTexOffset(a) MatTexinfo[(3*a)]
- #define MatTexRepeat(a) MatTexinfo[(3*a)+1]
- #define MatTexFlipY(a) bool(MatTexinfo[(3*a)+2].x)
- #define MatTexVisible(a) bool(MatTexinfo[(3*a)+2].y)
- #endif
|