[dali_2.3.28] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-scene3d / internal / graphics / shaders / shadow-map-shader.frag
index 91dace8..7d72c36 100644 (file)
@@ -1,14 +1,13 @@
-#version 300 es
 
 uniform lowp vec4 uColorFactor; // Color from material
 uniform lowp float uMask;
 uniform lowp float uAlphaThreshold;
 
-in mediump vec2 vUV;
-in lowp vec4 vColor;
+INPUT mediump vec2 vUV;
+INPUT lowp vec4 vColor;
 
-//in highp float depth;
-//out highp vec4 FragColor;
+//INPUT highp float depth;
+//OUTPUT highp vec4 FragColor;
 
 #ifdef THREE_TEX
 #ifdef BASECOLOR_TEX
@@ -18,6 +17,8 @@ uniform sampler2D sAlbedoAlpha;
 uniform sampler2D sAlbedoMetal;
 #endif
 
+uniform int uIsShadowCasting;
+
 lowp vec3 linear(lowp vec3 color)
 {
   return pow(color, vec3(2.2));
@@ -25,16 +26,21 @@ lowp vec3 linear(lowp vec3 color)
 
 void main()
 {
+  if(uIsShadowCasting == 0)
+  {
+    discard;
+  }
+
 #ifdef THREE_TEX
   // The albedo may be defined from a base texture or a flat color
 #ifdef BASECOLOR_TEX
-  lowp vec4 baseColor = texture(sAlbedoAlpha, vUV);
+  lowp vec4 baseColor = TEXTURE(sAlbedoAlpha, vUV);
   baseColor = vColor * vec4(linear(baseColor.rgb), baseColor.w) * uColorFactor;
 #else // BASECOLOR_TEX
   lowp vec4 baseColor = vColor * uColorFactor;
 #endif // BASECOLOR_TEX
 #else // THREE_TEX
-  lowp vec4 albedoMetal = texture(sAlbedoMetal, vUV);
+  lowp vec4 albedoMetal = TEXTURE(sAlbedoMetal, vUV);
   lowp vec4 baseColor = vec4(linear(albedoMetal.rgb), 1.0) * vColor * uColorFactor;
 #endif // THREE_TEX