" aTexCoord.st = vec2 (dot (aTrsfRow1, aTexCoord),\n"
" dot (aTrsfRow2, aTexCoord));\n"
"\n"
- " vec3 aTexColor = textureLod (\n"
- " sampler2D (uTextureSamplers[int(aDiffuse.w)]), aTexCoord.st, 0.f).rgb;\n"
+ " vec4 aTexColor = textureLod (\n"
+ " sampler2D (uTextureSamplers[int(aDiffuse.w)]), aTexCoord.st, 0.f);\n"
"\n"
- " aDiffuse.rgb *= aTexColor;\n"
- " aAmbient.rgb *= aTexColor;\n"
+ " aDiffuse.rgb *= aTexColor.rgb;\n"
+ " aAmbient.rgb *= aTexColor.rgb;\n"
+ "\n"
+ " // keep refractive index untouched (Z component)\n"
+ " aOpacity.xy = vec2 (aTexColor.w * aOpacity.x, 1.0f - aTexColor.w * aOpacity.x);\n"
" }\n"
"#endif\n"
"\n"