| #version 310 es |
| precision mediump float; |
| |
| struct Uniforms { |
| vec2 u_scale; |
| vec2 u_offset; |
| }; |
| |
| layout (binding = 0) uniform Uniforms_1 { |
| vec2 u_scale; |
| vec2 u_offset; |
| } uniforms; |
| |
| struct VertexOutputs { |
| vec2 texcoords; |
| vec4 position; |
| }; |
| struct tint_symbol_2 { |
| uint VertexIndex; |
| }; |
| struct tint_symbol_3 { |
| vec2 texcoords; |
| vec4 position; |
| }; |
| |
| VertexOutputs vs_main_inner(uint VertexIndex) { |
| vec2 texcoord[3] = vec2[3](vec2(-0.5f, 0.0f), vec2(1.5f, 0.0f), vec2(0.5f, 2.0f)); |
| VertexOutputs tint_symbol = VertexOutputs(vec2(0.0f, 0.0f), vec4(0.0f, 0.0f, 0.0f, 0.0f)); |
| tint_symbol.position = vec4(((texcoord[VertexIndex] * 2.0f) - vec2(1.0f, 1.0f)), 0.0f, 1.0f); |
| bool flipY = (uniforms.u_scale.y < 0.0f); |
| if (flipY) { |
| tint_symbol.texcoords = ((((texcoord[VertexIndex] * uniforms.u_scale) + uniforms.u_offset) * vec2(1.0f, -1.0f)) + vec2(0.0f, 1.0f)); |
| } else { |
| tint_symbol.texcoords = ((((texcoord[VertexIndex] * vec2(1.0f, -1.0f)) + vec2(0.0f, 1.0f)) * uniforms.u_scale) + uniforms.u_offset); |
| } |
| return tint_symbol; |
| } |
| |
| struct tint_symbol_5 { |
| vec2 texcoord; |
| }; |
| struct tint_symbol_6 { |
| vec4 value; |
| }; |
| |
| tint_symbol_3 vs_main(tint_symbol_2 tint_symbol_1) { |
| VertexOutputs inner_result = vs_main_inner(tint_symbol_1.VertexIndex); |
| tint_symbol_3 wrapper_result = tint_symbol_3(vec2(0.0f, 0.0f), vec4(0.0f, 0.0f, 0.0f, 0.0f)); |
| wrapper_result.texcoords = inner_result.texcoords; |
| wrapper_result.position = inner_result.position; |
| return wrapper_result; |
| } |
| out vec2 texcoords; |
| void main() { |
| tint_symbol_2 inputs; |
| inputs.VertexIndex = uint(gl_VertexID); |
| tint_symbol_3 outputs; |
| outputs = vs_main(inputs); |
| texcoords = outputs.texcoords; |
| gl_Position = outputs.position; |
| gl_Position.y = -gl_Position.y; |
| } |
| |
| |
| #version 310 es |
| precision mediump float; |
| |
| struct Uniforms { |
| vec2 u_scale; |
| vec2 u_offset; |
| }; |
| struct VertexOutputs { |
| vec2 texcoords; |
| vec4 position; |
| }; |
| struct tint_symbol_2 { |
| uint VertexIndex; |
| }; |
| struct tint_symbol_3 { |
| vec2 texcoords; |
| vec4 position; |
| }; |
| |
| |
| uniform highp sampler2D myTexture; |
| |
| struct tint_symbol_5 { |
| vec2 texcoord; |
| }; |
| struct tint_symbol_6 { |
| vec4 value; |
| }; |
| |
| vec4 fs_main_inner(vec2 texcoord) { |
| vec2 clampedTexcoord = clamp(texcoord, vec2(0.0f, 0.0f), vec2(1.0f, 1.0f)); |
| if (!(all(equal(clampedTexcoord, texcoord)))) { |
| discard; |
| } |
| vec4 srcColor = texture(myTexture, texcoord); |
| return srcColor; |
| } |
| |
| tint_symbol_6 fs_main(tint_symbol_5 tint_symbol_4) { |
| vec4 inner_result_1 = fs_main_inner(tint_symbol_4.texcoord); |
| tint_symbol_6 wrapper_result_1 = tint_symbol_6(vec4(0.0f, 0.0f, 0.0f, 0.0f)); |
| wrapper_result_1.value = inner_result_1; |
| return wrapper_result_1; |
| } |
| in vec2 texcoord; |
| out vec4 value; |
| void main() { |
| tint_symbol_5 inputs; |
| inputs.texcoord = texcoord; |
| tint_symbol_6 outputs; |
| outputs = fs_main(inputs); |
| value = outputs.value; |
| } |
| |
| |