| SKIP: FAILED |
| |
| #version 310 es |
| precision mediump float; |
| |
| const float shadowDepthTextureSize = 1024.0f; |
| struct Scene { |
| mat4 lightViewProjMatrix; |
| mat4 cameraViewProjMatrix; |
| vec3 lightPos; |
| }; |
| |
| layout(binding = 0) uniform Scene_1 { |
| mat4 lightViewProjMatrix; |
| mat4 cameraViewProjMatrix; |
| vec3 lightPos; |
| } scene; |
| |
| struct FragmentInput { |
| vec3 shadowPos; |
| vec3 fragPos; |
| vec3 fragNorm; |
| }; |
| |
| const vec3 albedo = vec3(0.899999976f, 0.899999976f, 0.899999976f); |
| const float ambientFactor = 0.200000003f; |
| struct tint_symbol_3 { |
| vec3 shadowPos; |
| vec3 fragPos; |
| vec3 fragNorm; |
| }; |
| |
| struct tint_symbol_4 { |
| vec4 value; |
| }; |
| |
| uniform highp sampler2D shadowMap_shadowSampler; |
| |
| vec4 tint_symbol_inner(FragmentInput tint_symbol_1) { |
| float visibility = 0.0f; |
| float oneOverShadowDepthTextureSize = (1.0f / shadowDepthTextureSize); |
| { |
| for(int y = -1; (y <= 1); y = (y + 1)) { |
| { |
| for(int x = -1; (x <= 1); x = (x + 1)) { |
| vec2 offset = vec2((float(x) * oneOverShadowDepthTextureSize), (float(y) * oneOverShadowDepthTextureSize)); |
| visibility = (visibility + texture(shadowMap_shadowSampler, (tint_symbol_1.shadowPos.xy + offset), (tint_symbol_1.shadowPos.z - 0.007f))); |
| } |
| } |
| } |
| } |
| visibility = (visibility / 9.0f); |
| float lambertFactor = max(dot(normalize((scene.lightPos - tint_symbol_1.fragPos)), tint_symbol_1.fragNorm), 0.0f); |
| float lightingFactor = min((ambientFactor + (visibility * lambertFactor)), 1.0f); |
| return vec4((lightingFactor * albedo), 1.0f); |
| } |
| |
| tint_symbol_4 tint_symbol(tint_symbol_3 tint_symbol_2) { |
| FragmentInput tint_symbol_5 = FragmentInput(tint_symbol_2.shadowPos, tint_symbol_2.fragPos, tint_symbol_2.fragNorm); |
| vec4 inner_result = tint_symbol_inner(tint_symbol_5); |
| tint_symbol_4 wrapper_result = tint_symbol_4(vec4(0.0f, 0.0f, 0.0f, 0.0f)); |
| wrapper_result.value = inner_result; |
| return wrapper_result; |
| } |
| layout(location = 0) in vec3 shadowPos; |
| layout(location = 1) in vec3 fragPos; |
| layout(location = 2) in vec3 fragNorm; |
| layout(location = 0) out vec4 value; |
| |
| void main() { |
| tint_symbol_3 inputs; |
| inputs.shadowPos = shadowPos; |
| inputs.fragPos = fragPos; |
| inputs.fragNorm = fragNorm; |
| tint_symbol_4 outputs; |
| outputs = tint_symbol(inputs); |
| value = outputs.value; |
| } |
| |
| Error parsing GLSL shader: |
| ERROR: 0:45: 'assign' : cannot convert from ' temp highp 4-component vector of float' to ' temp mediump float' |
| ERROR: 0:45: '' : compilation terminated |
| ERROR: 2 compilation errors. No code generated. |
| |
| |
| |