evas 3d: Fix shader compilation with EGL

This fixes the following error:
 error C1059: non constant expression in initialization

It happened with the hedgehog example: evas_canvas3d_aabb
This commit is contained in:
Jean-Philippe Andre 2016-06-20 15:25:09 +09:00
parent 30ba6bfcac
commit c0dcb30c61
3 changed files with 32 additions and 84 deletions

View File

@ -172,15 +172,11 @@ static const char diffuse_frag_glsl[] =
"#ifdef DIFFUSE_TEXTURE\n"
"uniform sampler2D uTextureDiffuse0;\n"
"uniform mat3 uTextureMatrixTransformDiffuse0;\n"
"vec3 Tex0CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
"#endif //DIFFUSE_TEXTURE\n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
"uniform sampler2D uTextureDiffuse1;\n"
"uniform float uTextureDiffuseWeight;\n"
"uniform mat3 uTextureMatrixTransformDiffuse1;\n"
"vec3 Tex1CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
"#endif //DIFFUSE_TEXTURE_BLEND\n"
"#endif //DIFFUSE\n"
"uniform int uAlphaTestComparison;\n"
@ -189,11 +185,13 @@ static const char diffuse_frag_glsl[] =
" vec4 color;\n"
" \n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
" vec3 Tex0CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
" color = mix(texture2D(uTextureDiffuse1, vec2(Tex1CoordDiffuse)),\n"
" texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse)), uTextureDiffuseWeight);\n"
" color *= uMaterialDiffuse;\n"
"#else\n"
"#ifdef DIFFUSE_TEXTURE\n"
" vec3 Tex0CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
" color = texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse)) * uMaterialDiffuse;\n"
"#else\n"
" color = uMaterialDiffuse;\n"
@ -418,15 +416,11 @@ static const char flat_frag_glsl[] =
"#ifdef DIFFUSE_TEXTURE\n"
"uniform sampler2D uTextureDiffuse0;\n"
"uniform mat3 uTextureMatrixTransformDiffuse0;\n"
"vec3 Tex0CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
"#endif //DIFFUSE_TEXTURE\n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
"uniform sampler2D uTextureDiffuse1;\n"
"uniform float uTextureDiffuseWeight;\n"
"uniform mat3 uTextureMatrixTransformDiffuse1;\n"
"vec3 Tex1CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
"#endif //DIFFUSE_TEXTURE_BLEND\n"
"#endif //DIFFUSE\n"
"#ifdef SPECULAR\n"
@ -436,15 +430,11 @@ static const char flat_frag_glsl[] =
"#ifdef SPECULAR_TEXTURE\n"
"uniform sampler2D uTextureSpecular0;\n"
"uniform mat3 uTextureMatrixTransformSpecular0;\n"
"vec3 Tex0CoordSpecular =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular0;\n"
"#endif //SPECULAR_TEXTURE\n"
"#ifdef SPECULAR_TEXTURE_BLEND\n"
"uniform sampler2D uTextureSpecular1;\n"
"uniform float uTextureSpecularWeight;\n"
"uniform mat3 uTextureMatrixTransformSpecular1;\n"
"vec3 Tex1CoordSpecular =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular1;\n"
"#endif //SPECULAR_TEXTURE_BLEND\n"
"#endif //SPECULAR\n"
"#ifdef AMBIENT\n"
@ -453,15 +443,11 @@ static const char flat_frag_glsl[] =
"#ifdef AMBIENT_TEXTURE\n"
"uniform sampler2D uTextureAmbient0;\n"
"uniform mat3 uTextureMatrixTransformAmbient0;\n"
"vec3 Tex0CoordAmbient =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient0;\n"
"#endif //AMBIENT_TEXTURE\n"
"#ifdef AMBIENT_TEXTURE_BLEND\n"
"uniform sampler2D uTextureAmbient1;\n"
"uniform float uTextureAmbientWeight;\n"
"uniform mat3 uTextureMatrixTransformAmbient1;\n"
"vec3 Tex1CoordAmbient =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient1;\n"
"#endif //AMBIENT_TEXTURE_BLEND\n"
"#endif //AMBIENT\n"
"#ifdef EMISSION\n"
@ -469,15 +455,11 @@ static const char flat_frag_glsl[] =
"#ifdef EMISSION_TEXTURE\n"
"uniform sampler2D uTextureEmission0;\n"
"uniform mat3 uTextureMatrixTransformEmission0;\n"
"vec3 Tex0CoordEmission =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission0;\n"
"#endif //EMISSION_TEXTURE\n"
"#ifdef EMISSION_TEXTURE_BLEND\n"
"uniform sampler2D uTextureEmission1;\n"
"uniform float uTextureEmissionWeight;\n"
"uniform mat3 uTextureMatrixTransformEmission1;\n"
"vec3 Tex1CoordEmission =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission1;\n"
"#endif //EMISSION_TEXTURE_BLEND\n"
"#endif //EMISSION\n"
"uniform int uAlphaTestComparison;\n"
@ -489,11 +471,13 @@ static const char flat_frag_glsl[] =
"#ifdef DIFFUSE\n"
" \n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
" vec3 Tex0CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
" color = mix(texture2D(uTextureDiffuse1, vec2(Tex1CoordDiffuse)),\n"
" texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse)), uTextureDiffuseWeight);\n"
" color *= uMaterialDiffuse;\n"
"#else\n"
"#ifdef DIFFUSE_TEXTURE\n"
" vec3 Tex0CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
" color = texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse)) * uMaterialDiffuse;\n"
"#else\n"
" color = uMaterialDiffuse;\n"
@ -506,11 +490,13 @@ static const char flat_frag_glsl[] =
"#ifdef SPECULAR\n"
" \n"
"#ifdef SPECULAR_TEXTURE_BLEND\n"
" vec3 Tex0CoordSpecular = vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular1;\n"
" color = mix(texture2D(uTextureSpecular1, vec2(Tex1CoordSpecular)),\n"
" texture2D(uTextureSpecular0, vec2(Tex0CoordSpecular)), uTextureSpecularWeight);\n"
" color *= uMaterialSpecular;\n"
"#else\n"
"#ifdef SPECULAR_TEXTURE\n"
" vec3 Tex0CoordSpecular = vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular0;\n"
" color = texture2D(uTextureSpecular0, vec2(Tex0CoordSpecular)) * uMaterialSpecular;\n"
"#else\n"
" color = uMaterialSpecular;\n"
@ -524,11 +510,13 @@ static const char flat_frag_glsl[] =
"#ifdef AMBIENT\n"
" \n"
"#ifdef AMBIENT_TEXTURE_BLEND\n"
" vec3 Tex0CoordAmbient = vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient1;\n"
" color = mix(texture2D(uTextureAmbient1, vec2(Tex1CoordAmbient)),\n"
" texture2D(uTextureAmbient0, vec2(Tex0CoordAmbient)), uTextureAmbientWeight);\n"
" color *= uMaterialAmbient;\n"
"#else\n"
"#ifdef AMBIENT_TEXTURE\n"
" vec3 Tex0CoordAmbient = vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient0;\n"
" color = texture2D(uTextureAmbient0, vec2(Tex0CoordAmbient)) * uMaterialAmbient;\n"
"#else\n"
" color = uMaterialAmbient;\n"
@ -539,11 +527,13 @@ static const char flat_frag_glsl[] =
"#ifdef EMISSION\n"
" \n"
"#ifdef EMISSION_TEXTURE_BLEND\n"
" vec3 Tex0CoordEmission = vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission1;\n"
" color = mix(texture2D(uTextureEmission1, vec2(Tex1CoordEmission)),\n"
" texture2D(uTextureEmission0, vec2(Tex0CoordEmission)), uTextureEmissionWeight);\n"
" color *= uMaterialEmission;\n"
"#else\n"
"#ifdef EMISSION_TEXTURE\n"
" vec3 Tex0CoordEmission = vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission0;\n"
" color = texture2D(uTextureEmission0, vec2(Tex0CoordEmission)) * uMaterialEmission;\n"
"#else\n"
" color = uMaterialEmission;\n"
@ -748,15 +738,11 @@ static const char phong_frag_glsl[] =
"#ifdef DIFFUSE_TEXTURE\n"
"uniform sampler2D uTextureDiffuse0;\n"
"uniform mat3 uTextureMatrixTransformDiffuse0;\n"
"vec3 Tex0CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
"#endif //DIFFUSE_TEXTURE\n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
"uniform sampler2D uTextureDiffuse1;\n"
"uniform float uTextureDiffuseWeight;\n"
"uniform mat3 uTextureMatrixTransformDiffuse1;\n"
"vec3 Tex1CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
"#endif //DIFFUSE_TEXTURE_BLEND\n"
"#endif //DIFFUSE\n"
"#ifdef SPECULAR\n"
@ -766,15 +752,11 @@ static const char phong_frag_glsl[] =
"#ifdef SPECULAR_TEXTURE\n"
"uniform sampler2D uTextureSpecular0;\n"
"uniform mat3 uTextureMatrixTransformSpecular0;\n"
"vec3 Tex0CoordSpecular =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular0;\n"
"#endif //SPECULAR_TEXTURE\n"
"#ifdef SPECULAR_TEXTURE_BLEND\n"
"uniform sampler2D uTextureSpecular1;\n"
"uniform float uTextureSpecularWeight;\n"
"uniform mat3 uTextureMatrixTransformSpecular1;\n"
"vec3 Tex1CoordSpecular =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular1;\n"
"#endif //SPECULAR_TEXTURE_BLEND\n"
"#endif //SPECULAR\n"
"#ifdef AMBIENT\n"
@ -783,15 +765,11 @@ static const char phong_frag_glsl[] =
"#ifdef AMBIENT_TEXTURE\n"
"uniform sampler2D uTextureAmbient0;\n"
"uniform mat3 uTextureMatrixTransformAmbient0;\n"
"vec3 Tex0CoordAmbient =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient0;\n"
"#endif //AMBIENT_TEXTURE\n"
"#ifdef AMBIENT_TEXTURE_BLEND\n"
"uniform sampler2D uTextureAmbient1;\n"
"uniform float uTextureAmbientWeight;\n"
"uniform mat3 uTextureMatrixTransformAmbient1;\n"
"vec3 Tex1CoordAmbient =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient1;\n"
"#endif //AMBIENT_TEXTURE_BLEND\n"
"#endif //AMBIENT\n"
"#ifdef EMISSION\n"
@ -799,15 +777,11 @@ static const char phong_frag_glsl[] =
"#ifdef EMISSION_TEXTURE\n"
"uniform sampler2D uTextureEmission0;\n"
"uniform mat3 uTextureMatrixTransformEmission0;\n"
"vec3 Tex0CoordEmission =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission0;\n"
"#endif //EMISSION_TEXTURE\n"
"#ifdef EMISSION_TEXTURE_BLEND\n"
"uniform sampler2D uTextureEmission1;\n"
"uniform float uTextureEmissionWeight;\n"
"uniform mat3 uTextureMatrixTransformEmission1;\n"
"vec3 Tex1CoordEmission =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission1;\n"
"#endif //EMISSION_TEXTURE_BLEND\n"
"#endif //EMISSION\n"
"#ifdef LIGHT_SPOT\n"
@ -840,11 +814,13 @@ static const char phong_frag_glsl[] =
"#ifdef DIFFUSE\n"
" \n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
" vec3 Tex0CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
" color = mix(texture2D(uTextureDiffuse1, vec2(Tex1CoordDiffuse)),\n"
" texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse)), uTextureDiffuseWeight);\n"
" color *= uMaterialDiffuse;\n"
"#else\n"
"#ifdef DIFFUSE_TEXTURE\n"
" vec3 Tex0CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
" color = texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse)) * uMaterialDiffuse;\n"
"#else\n"
" color = uMaterialDiffuse;\n"
@ -862,11 +838,13 @@ static const char phong_frag_glsl[] =
" factor = pow(factor, uMaterialShininess);\n"
" \n"
"#ifdef SPECULAR_TEXTURE_BLEND\n"
" vec3 Tex0CoordSpecular = vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular1;\n"
" color = mix(texture2D(uTextureSpecular1, vec2(Tex1CoordSpecular)),\n"
" texture2D(uTextureSpecular0, vec2(Tex0CoordSpecular)), uTextureSpecularWeight);\n"
" color *= uMaterialSpecular;\n"
"#else\n"
"#ifdef SPECULAR_TEXTURE\n"
" vec3 Tex0CoordSpecular = vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular0;\n"
" color = texture2D(uTextureSpecular0, vec2(Tex0CoordSpecular)) * uMaterialSpecular;\n"
"#else\n"
" color = uMaterialSpecular;\n"
@ -884,11 +862,13 @@ static const char phong_frag_glsl[] =
"#ifdef AMBIENT\n"
" \n"
"#ifdef AMBIENT_TEXTURE_BLEND\n"
" vec3 Tex0CoordAmbient = vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient1;\n"
" color = mix(texture2D(uTextureAmbient1, vec2(Tex1CoordAmbient)),\n"
" texture2D(uTextureAmbient0, vec2(Tex0CoordAmbient)), uTextureAmbientWeight);\n"
" color *= uMaterialAmbient;\n"
"#else\n"
"#ifdef AMBIENT_TEXTURE\n"
" vec3 Tex0CoordAmbient = vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient0;\n"
" color = texture2D(uTextureAmbient0, vec2(Tex0CoordAmbient)) * uMaterialAmbient;\n"
"#else\n"
" color = uMaterialAmbient;\n"
@ -904,11 +884,13 @@ static const char phong_frag_glsl[] =
"#ifdef EMISSION\n"
" \n"
"#ifdef EMISSION_TEXTURE_BLEND\n"
" vec3 Tex0CoordEmission = vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission1;\n"
" color = mix(texture2D(uTextureEmission1, vec2(Tex1CoordEmission)),\n"
" texture2D(uTextureEmission0, vec2(Tex0CoordEmission)), uTextureEmissionWeight);\n"
" color *= uMaterialEmission;\n"
"#else\n"
"#ifdef EMISSION_TEXTURE\n"
" vec3 Tex0CoordEmission = vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission0;\n"
" color = texture2D(uTextureEmission0, vec2(Tex0CoordEmission)) * uMaterialEmission;\n"
"#else\n"
" color = uMaterialEmission;\n"
@ -1168,15 +1150,11 @@ static const char normal_map_frag_glsl[] =
"#ifdef NORMAL_TEXTURE\n"
"uniform sampler2D uTextureNormal0;\n"
"uniform mat3 uTextureMatrixTransformNormal0;\n"
"vec3 Tex0CoordNormal =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformNormal0;\n"
"#endif //NORMAL_TEXTURE\n"
"#ifdef NORMAL_TEXTURE_BLEND\n"
"uniform sampler2D uTextureNormal1;\n"
"uniform float uTextureNormalWeight;\n"
"uniform mat3 uTextureMatrixTransformNormal1;\n"
"vec3 Tex1CoordNormal =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformNormal1;\n"
"#endif //NORMAL_TEXTURE_BLEND\n"
"uniform int uAlphaTestComparison;\n"
"uniform float uAlphaTestRefValue;\n"
@ -1189,15 +1167,11 @@ static const char normal_map_frag_glsl[] =
"#ifdef DIFFUSE_TEXTURE\n"
"uniform sampler2D uTextureDiffuse0;\n"
"uniform mat3 uTextureMatrixTransformDiffuse0;\n"
"vec3 Tex0CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
"#endif //DIFFUSE_TEXTURE\n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
"uniform sampler2D uTextureDiffuse1;\n"
"uniform float uTextureDiffuseWeight;\n"
"uniform mat3 uTextureMatrixTransformDiffuse1;\n"
"vec3 Tex1CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
"#endif //DIFFUSE_TEXTURE_BLEND\n"
"#endif //DIFFUSE\n"
"#ifdef SPECULAR\n"
@ -1207,15 +1181,11 @@ static const char normal_map_frag_glsl[] =
"#ifdef SPECULAR_TEXTURE\n"
"uniform sampler2D uTextureSpecular0;\n"
"uniform mat3 uTextureMatrixTransformSpecular0;\n"
"vec3 Tex0CoordSpecular =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular0;\n"
"#endif //SPECULAR_TEXTURE\n"
"#ifdef SPECULAR_TEXTURE_BLEND\n"
"uniform sampler2D uTextureSpecular1;\n"
"uniform float uTextureSpecularWeight;\n"
"uniform mat3 uTextureMatrixTransformSpecular1;\n"
"vec3 Tex1CoordSpecular =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular1;\n"
"#endif //SPECULAR_TEXTURE_BLEND\n"
"#endif //SPECULAR\n"
"#ifdef AMBIENT\n"
@ -1224,15 +1194,11 @@ static const char normal_map_frag_glsl[] =
"#ifdef AMBIENT_TEXTURE\n"
"uniform sampler2D uTextureAmbient0;\n"
"uniform mat3 uTextureMatrixTransformAmbient0;\n"
"vec3 Tex0CoordAmbient =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient0;\n"
"#endif //AMBIENT_TEXTURE\n"
"#ifdef AMBIENT_TEXTURE_BLEND\n"
"uniform sampler2D uTextureAmbient1;\n"
"uniform float uTextureAmbientWeight;\n"
"uniform mat3 uTextureMatrixTransformAmbient1;\n"
"vec3 Tex1CoordAmbient =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient1;\n"
"#endif //AMBIENT_TEXTURE_BLEND\n"
"#endif //AMBIENT\n"
"#ifdef EMISSION\n"
@ -1240,15 +1206,11 @@ static const char normal_map_frag_glsl[] =
"#ifdef EMISSION_TEXTURE\n"
"uniform sampler2D uTextureEmission0;\n"
"uniform mat3 uTextureMatrixTransformEmission0;\n"
"vec3 Tex0CoordEmission =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission0;\n"
"#endif //EMISSION_TEXTURE\n"
"#ifdef EMISSION_TEXTURE_BLEND\n"
"uniform sampler2D uTextureEmission1;\n"
"uniform float uTextureEmissionWeight;\n"
"uniform mat3 uTextureMatrixTransformEmission1;\n"
"vec3 Tex1CoordEmission =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission1;\n"
"#endif //EMISSION_TEXTURE_BLEND\n"
"#endif //EMISSION\n"
"#ifdef LIGHT_SPOT\n"
@ -1311,11 +1273,13 @@ static const char normal_map_frag_glsl[] =
"#ifdef DIFFUSE\n"
" \n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
" vec3 Tex0CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
" color = mix(texture2D(uTextureDiffuse1, vec2(Tex1CoordDiffuse)),\n"
" texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse)), uTextureDiffuseWeight);\n"
" color *= uMaterialDiffuse;\n"
"#else\n"
"#ifdef DIFFUSE_TEXTURE\n"
" vec3 Tex0CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
" color = texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse)) * uMaterialDiffuse;\n"
"#else\n"
" color = uMaterialDiffuse;\n"
@ -1332,11 +1296,13 @@ static const char normal_map_frag_glsl[] =
" factor = pow(factor, uMaterialShininess);\n"
" \n"
"#ifdef SPECULAR_TEXTURE_BLEND\n"
" vec3 Tex0CoordSpecular = vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular1;\n"
" color = mix(texture2D(uTextureSpecular1, vec2(Tex1CoordSpecular)),\n"
" texture2D(uTextureSpecular0, vec2(Tex0CoordSpecular)), uTextureSpecularWeight);\n"
" color *= uMaterialSpecular;\n"
"#else\n"
"#ifdef SPECULAR_TEXTURE\n"
" vec3 Tex0CoordSpecular = vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular0;\n"
" color = texture2D(uTextureSpecular0, vec2(Tex0CoordSpecular)) * uMaterialSpecular;\n"
"#else\n"
" color = uMaterialSpecular;\n"
@ -1354,11 +1320,13 @@ static const char normal_map_frag_glsl[] =
"#ifdef AMBIENT\n"
" \n"
"#ifdef AMBIENT_TEXTURE_BLEND\n"
" vec3 Tex0CoordAmbient = vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient1;\n"
" color = mix(texture2D(uTextureAmbient1, vec2(Tex1CoordAmbient)),\n"
" texture2D(uTextureAmbient0, vec2(Tex0CoordAmbient)), uTextureAmbientWeight);\n"
" color *= uMaterialAmbient;\n"
"#else\n"
"#ifdef AMBIENT_TEXTURE\n"
" vec3 Tex0CoordAmbient = vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient0;\n"
" color = texture2D(uTextureAmbient0, vec2(Tex0CoordAmbient)) * uMaterialAmbient;\n"
"#else\n"
" color = uMaterialAmbient;\n"
@ -1372,11 +1340,13 @@ static const char normal_map_frag_glsl[] =
"#ifdef EMISSION\n"
" \n"
"#ifdef EMISSION_TEXTURE_BLEND\n"
" vec3 Tex0CoordEmission = vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission1;\n"
" color = mix(texture2D(uTextureEmission1, vec2(Tex1CoordEmission)),\n"
" texture2D(uTextureEmission0, vec2(Tex0CoordEmission)), uTextureEmissionWeight);\n"
" color *= uMaterialEmission;\n"
"#else\n"
"#ifdef EMISSION_TEXTURE\n"
" vec3 Tex0CoordEmission = vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission0;\n"
" color = texture2D(uTextureEmission0, vec2(Tex0CoordEmission)) * uMaterialEmission;\n"
"#else\n"
" color = uMaterialEmission;\n"
@ -1508,15 +1478,11 @@ static const char shadow_map_frag_glsl[] =
"#ifdef DIFFUSE_TEXTURE\n"
"uniform sampler2D uTextureDiffuse0;\n"
"uniform mat3 uTextureMatrixTransformDiffuse0;\n"
"vec3 Tex0CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
"#endif //DIFFUSE_TEXTURE\n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
"uniform sampler2D uTextureDiffuse1;\n"
"uniform float uTextureDiffuseWeight;\n"
"uniform mat3 uTextureMatrixTransformDiffuse1;\n"
"vec3 Tex1CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
"#endif //DIFFUSE_TEXTURE_BLEND\n"
"#endif //DIFFUSE\n"
"#endif //ALPHA_TEST_ENABLED\n"
@ -1527,11 +1493,13 @@ static const char shadow_map_frag_glsl[] =
"#endif\n"
"#ifdef ALPHA_TEST_ENABLED\n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
" vec3 Tex1CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
" color = (texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse)) *\n"
" uTextureDiffuseWeight + texture2D(uTextureDiffuse1, vec2(Tex1CoordDiffuse)) *\n"
" (1.0 - uTextureDiffuseWeight));\n"
"#else\n"
"#ifdef DIFFUSE_TEXTURE\n"
" vec3 Tex0CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
" color = texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse));\n"
"#else\n"
" color = vec4(1);\n"
@ -1843,15 +1811,11 @@ static const char parallax_occlusion_frag_glsl[] =
"#ifdef DIFFUSE_TEXTURE\n"
"uniform sampler2D uTextureDiffuse0;\n"
"uniform mat3 uTextureMatrixTransformDiffuse0;\n"
"vec3 Tex0CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;\n"
"#endif //DIFFUSE_TEXTURE\n"
"#ifdef DIFFUSE_TEXTURE_BLEND\n"
"uniform sampler2D uTextureDiffuse1;\n"
"uniform float uTextureDiffuseWeight;\n"
"uniform mat3 uTextureMatrixTransformDiffuse1;\n"
"vec3 Tex1CoordDiffuse =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;\n"
"#endif //DIFFUSE_TEXTURE_BLEND\n"
"#endif //DIFFUSE\n"
"#ifdef SPECULAR\n"
@ -1861,15 +1825,11 @@ static const char parallax_occlusion_frag_glsl[] =
"#ifdef SPECULAR_TEXTURE\n"
"uniform sampler2D uTextureSpecular0;\n"
"uniform mat3 uTextureMatrixTransformSpecular0;\n"
"vec3 Tex0CoordSpecular =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular0;\n"
"#endif //SPECULAR_TEXTURE\n"
"#ifdef SPECULAR_TEXTURE_BLEND\n"
"uniform sampler2D uTextureSpecular1;\n"
"uniform float uTextureSpecularWeight;\n"
"uniform mat3 uTextureMatrixTransformSpecular1;\n"
"vec3 Tex1CoordSpecular =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformSpecular1;\n"
"#endif //SPECULAR_TEXTURE_BLEND\n"
"#endif //SPECULAR\n"
"#ifdef AMBIENT\n"
@ -1878,15 +1838,11 @@ static const char parallax_occlusion_frag_glsl[] =
"#ifdef AMBIENT_TEXTURE\n"
"uniform sampler2D uTextureAmbient0;\n"
"uniform mat3 uTextureMatrixTransformAmbient0;\n"
"vec3 Tex0CoordAmbient =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient0;\n"
"#endif //AMBIENT_TEXTURE\n"
"#ifdef AMBIENT_TEXTURE_BLEND\n"
"uniform sampler2D uTextureAmbient1;\n"
"uniform float uTextureAmbientWeight;\n"
"uniform mat3 uTextureMatrixTransformAmbient1;\n"
"vec3 Tex1CoordAmbient =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformAmbient1;\n"
"#endif //AMBIENT_TEXTURE_BLEND\n"
"#endif //AMBIENT\n"
"#ifdef EMISSION\n"
@ -1894,15 +1850,11 @@ static const char parallax_occlusion_frag_glsl[] =
"#ifdef EMISSION_TEXTURE\n"
"uniform sampler2D uTextureEmission0;\n"
"uniform mat3 uTextureMatrixTransformEmission0;\n"
"vec3 Tex0CoordEmission =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission0;\n"
"#endif //EMISSION_TEXTURE\n"
"#ifdef EMISSION_TEXTURE_BLEND\n"
"uniform sampler2D uTextureEmission1;\n"
"uniform float uTextureEmissionWeight;\n"
"uniform mat3 uTextureMatrixTransformEmission1;\n"
"vec3 Tex1CoordEmission =\n"
" vec3(vTexCoord, 1.0) * uTextureMatrixTransformEmission1;\n"
"#endif //EMISSION_TEXTURE_BLEND\n"
"#endif //EMISSION\n"
"#ifdef LIGHT_SPOT\n"

View File

@ -13,15 +13,11 @@ define(`FRAGMENT_SHADER_USE_TEXTURE', `
#ifdef $1_TEXTURE
uniform sampler2D uTexture$2`0';
uniform mat3 uTextureMatrixTransform$2`0';
vec3 Tex0Coord$2 =
vec3(vTexCoord, 1.0) * uTextureMatrixTransform$2`0';
#endif //$1_TEXTURE
#ifdef $1_TEXTURE_BLEND
uniform sampler2D uTexture$2`1';
uniform float uTexture$2Weight;
uniform mat3 uTextureMatrixTransform$2`1';
vec3 Tex1Coord$2 =
vec3(vTexCoord, 1.0) * uTextureMatrixTransform$2`1';
#endif //$1_TEXTURE_BLEND')
define(`FRAGMENT_SHADER_USE_FOG', `
@ -79,11 +75,13 @@ varying float vLightDist;
define(`FRAGMENT_SHADER_TEXTURE_BLEND', `
#ifdef $1_TEXTURE_BLEND
vec3 Tex0Coord$2 = vec3(vTexCoord, 1.0) * uTextureMatrixTransform$2`1';
color = mix(texture2D(uTexture$2`1', vec2(Tex1Coord$2)),
texture2D(uTexture$2`0', vec2(Tex0Coord$2)), uTexture$2Weight);
color *= uMaterial$2;
#else
#ifdef $1_TEXTURE
vec3 Tex0Coord$2 = vec3(vTexCoord, 1.0) * uTextureMatrixTransform$2`0';
color = texture2D(uTexture$2`0', vec2(Tex0Coord$2)) * uMaterial$2;
#else
color = uMaterial$2;

View File

@ -8,16 +8,12 @@ FRAGMENT_SHADER_USE_ALPHA_TEST_GLES
#ifdef DIFFUSE_TEXTURE
uniform sampler2D uTextureDiffuse0;
uniform mat3 uTextureMatrixTransformDiffuse0;
vec3 Tex0CoordDiffuse =
vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;
#endif //DIFFUSE_TEXTURE
#ifdef DIFFUSE_TEXTURE_BLEND
uniform sampler2D uTextureDiffuse1;
uniform float uTextureDiffuseWeight;
uniform mat3 uTextureMatrixTransformDiffuse1;
vec3 Tex1CoordDiffuse =
vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;
#endif //DIFFUSE_TEXTURE_BLEND
#endif //DIFFUSE
@ -34,12 +30,14 @@ void main() {
#ifdef ALPHA_TEST_ENABLED
#ifdef DIFFUSE_TEXTURE_BLEND
vec3 Tex1CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse1;
color = (texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse)) *
uTextureDiffuseWeight + texture2D(uTextureDiffuse1, vec2(Tex1CoordDiffuse)) *
(1.0 - uTextureDiffuseWeight));
#else
#ifdef DIFFUSE_TEXTURE
vec3 Tex0CoordDiffuse = vec3(vTexCoord, 1.0) * uTextureMatrixTransformDiffuse0;
color = texture2D(uTextureDiffuse0, vec2(Tex0CoordDiffuse));
#else
color = vec4(1);