| [[block]] |
| struct buf0 { |
| resolution : vec2<f32>; |
| }; |
| |
| var<private> gl_FragCoord : vec4<f32>; |
| |
| [[group(0), binding(0)]] var<uniform> x_24 : buf0; |
| |
| var<private> x_GLF_color : vec4<f32>; |
| |
| fn cross2d_vf2_vf2_(a : ptr<function, vec2<f32>>, b : ptr<function, vec2<f32>>) -> f32 { |
| let x_79 : f32 = (*(a)).x; |
| let x_81 : f32 = (*(b)).y; |
| let x_84 : f32 = (*(b)).x; |
| let x_86 : f32 = (*(a)).y; |
| return ((x_79 * x_81) - (x_84 * x_86)); |
| } |
| |
| fn pointInTriangle_vf2_vf2_vf2_vf2_(p : ptr<function, vec2<f32>>, a_1 : ptr<function, vec2<f32>>, b_1 : ptr<function, vec2<f32>>, c : ptr<function, vec2<f32>>) -> i32 { |
| var x_90 : bool = false; |
| var x_91 : i32; |
| var pab : f32; |
| var param : vec2<f32>; |
| var param_1 : vec2<f32>; |
| var pbc : f32; |
| var param_2 : vec2<f32>; |
| var param_3 : vec2<f32>; |
| var pca : f32; |
| var param_4 : vec2<f32>; |
| var param_5 : vec2<f32>; |
| var x_140 : bool; |
| var x_168 : bool; |
| var x_141_phi : bool; |
| var x_169_phi : bool; |
| var x_173_phi : i32; |
| switch(0u) { |
| default: { |
| let x_95 : f32 = (*(p)).x; |
| let x_97 : f32 = (*(a_1)).x; |
| let x_100 : f32 = (*(p)).y; |
| let x_102 : f32 = (*(a_1)).y; |
| let x_106 : f32 = (*(b_1)).x; |
| let x_107 : f32 = (*(a_1)).x; |
| let x_110 : f32 = (*(b_1)).y; |
| let x_111 : f32 = (*(a_1)).y; |
| param = vec2<f32>((x_95 - x_97), (x_100 - x_102)); |
| param_1 = vec2<f32>((x_106 - x_107), (x_110 - x_111)); |
| let x_114 : f32 = cross2d_vf2_vf2_(&(param), &(param_1)); |
| pab = x_114; |
| let x_115 : f32 = (*(p)).x; |
| let x_116 : f32 = (*(b_1)).x; |
| let x_118 : f32 = (*(p)).y; |
| let x_119 : f32 = (*(b_1)).y; |
| let x_123 : f32 = (*(c)).x; |
| let x_124 : f32 = (*(b_1)).x; |
| let x_127 : f32 = (*(c)).y; |
| let x_128 : f32 = (*(b_1)).y; |
| param_2 = vec2<f32>((x_115 - x_116), (x_118 - x_119)); |
| param_3 = vec2<f32>((x_123 - x_124), (x_127 - x_128)); |
| let x_131 : f32 = cross2d_vf2_vf2_(&(param_2), &(param_3)); |
| pbc = x_131; |
| let x_134 : bool = ((x_114 < 0.0) & (x_131 < 0.0)); |
| x_141_phi = x_134; |
| if (!(x_134)) { |
| x_140 = ((x_114 >= 0.0) & (x_131 >= 0.0)); |
| x_141_phi = x_140; |
| } |
| let x_141 : bool = x_141_phi; |
| if (!(x_141)) { |
| x_90 = true; |
| x_91 = 0; |
| x_173_phi = 0; |
| break; |
| } |
| let x_145 : f32 = (*(p)).x; |
| let x_146 : f32 = (*(c)).x; |
| let x_148 : f32 = (*(p)).y; |
| let x_149 : f32 = (*(c)).y; |
| let x_152 : f32 = (*(a_1)).x; |
| let x_153 : f32 = (*(c)).x; |
| let x_155 : f32 = (*(a_1)).y; |
| let x_156 : f32 = (*(c)).y; |
| param_4 = vec2<f32>((x_145 - x_146), (x_148 - x_149)); |
| param_5 = vec2<f32>((x_152 - x_153), (x_155 - x_156)); |
| let x_159 : f32 = cross2d_vf2_vf2_(&(param_4), &(param_5)); |
| pca = x_159; |
| let x_162 : bool = ((x_114 < 0.0) & (x_159 < 0.0)); |
| x_169_phi = x_162; |
| if (!(x_162)) { |
| x_168 = ((x_114 >= 0.0) & (x_159 >= 0.0)); |
| x_169_phi = x_168; |
| } |
| let x_169 : bool = x_169_phi; |
| if (!(x_169)) { |
| x_90 = true; |
| x_91 = 0; |
| x_173_phi = 0; |
| break; |
| } |
| x_90 = true; |
| x_91 = 1; |
| x_173_phi = 1; |
| } |
| } |
| let x_173 : i32 = x_173_phi; |
| return x_173; |
| } |
| |
| fn main_1() { |
| var pos : vec2<f32>; |
| var param_6 : vec2<f32>; |
| var param_7 : vec2<f32>; |
| var param_8 : vec2<f32>; |
| var param_9 : vec2<f32>; |
| let x_67 : vec4<f32> = gl_FragCoord; |
| let x_70 : vec2<f32> = x_24.resolution; |
| let x_71 : vec2<f32> = (vec2<f32>(x_67.x, x_67.y) / x_70); |
| pos = x_71; |
| param_6 = x_71; |
| param_7 = vec2<f32>(0.699999988, 0.300000012); |
| param_8 = vec2<f32>(0.5, 0.899999976); |
| param_9 = vec2<f32>(0.100000001, 0.400000006); |
| let x_72 : i32 = pointInTriangle_vf2_vf2_vf2_vf2_(&(param_6), &(param_7), &(param_8), &(param_9)); |
| if ((x_72 == 1)) { |
| x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0); |
| } else { |
| x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 1.0); |
| } |
| return; |
| } |
| |
| struct main_out { |
| [[location(0)]] |
| x_GLF_color_1 : vec4<f32>; |
| }; |
| |
| [[stage(fragment)]] |
| fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out { |
| gl_FragCoord = gl_FragCoord_param; |
| main_1(); |
| return main_out(x_GLF_color); |
| } |