precision mediump float; varying highp vec3 dv; varying mediump vec2 jv; varying mediump vec3 dC; uniform vec3 uShadowCatcherParams; #ifdef LIGHT_COUNT uniform vec4 uLightPositions[LIGHT_COUNT]; uniform vec3 uLightDirections[LIGHT_COUNT]; uniform vec3 uLightColors[LIGHT_COUNT]; uniform vec3 uLightParams[LIGHT_COUNT]; uniform vec3 uLightSpot[LIGHT_COUNT]; #endif #define saturate(x) clamp( x, 0.0, 1.0 ) #define SHADOW_COMPARE(a,b) ((a) < (b) || (b) >= 1.0 ? 1.0 : 0.0) #define SHADOW_CLIP(c,v) ((c.x<0.0 || c.x>1.0 || c.y<0.0 || c.y>1.0) ? 1.0 : v) #include void main(void){ ev eA;eB(eA,SHADOW_KERNEL); vec3 jA=vec3(0.0,0.0,0.0); vec3 jB=vec3(0.0,0.0,0.0); for(int k=0;k