1[[block]] 2struct buf0 { 3 resolution : vec2<f32>; 4}; 5 6var<private> gl_FragCoord : vec4<f32>; 7 8[[group(0), binding(0)]] var<uniform> x_24 : buf0; 9 10var<private> x_GLF_color : vec4<f32>; 11 12fn cross2d_vf2_vf2_(a : ptr<function, vec2<f32>>, b : ptr<function, vec2<f32>>) -> f32 { 13 let x_76 : f32 = (*(a)).x; 14 let x_78 : f32 = (*(b)).y; 15 let x_81 : f32 = (*(b)).x; 16 let x_83 : f32 = (*(a)).y; 17 return ((x_76 * x_78) - (x_81 * x_83)); 18} 19 20fn 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 { 21 var pab : f32; 22 var param : vec2<f32>; 23 var param_1 : vec2<f32>; 24 var pbc : f32; 25 var param_2 : vec2<f32>; 26 var param_3 : vec2<f32>; 27 var pca : f32; 28 var param_4 : vec2<f32>; 29 var param_5 : vec2<f32>; 30 var x_145 : bool; 31 var x_185 : bool; 32 var x_146_phi : bool; 33 var x_186_phi : bool; 34 let x_88 : f32 = (*(p)).x; 35 let x_90 : f32 = (*(a_1)).x; 36 let x_93 : f32 = (*(p)).y; 37 let x_95 : f32 = (*(a_1)).y; 38 let x_99 : f32 = (*(b_1)).x; 39 let x_101 : f32 = (*(a_1)).x; 40 let x_104 : f32 = (*(b_1)).y; 41 let x_106 : f32 = (*(a_1)).y; 42 param = vec2<f32>((x_88 - x_90), (x_93 - x_95)); 43 param_1 = vec2<f32>((x_99 - x_101), (x_104 - x_106)); 44 let x_109 : f32 = cross2d_vf2_vf2_(&(param), &(param_1)); 45 pab = x_109; 46 let x_111 : f32 = (*(p)).x; 47 let x_113 : f32 = (*(b_1)).x; 48 let x_116 : f32 = (*(p)).y; 49 let x_118 : f32 = (*(b_1)).y; 50 let x_122 : f32 = (*(c)).x; 51 let x_124 : f32 = (*(b_1)).x; 52 let x_127 : f32 = (*(c)).y; 53 let x_129 : f32 = (*(b_1)).y; 54 param_2 = vec2<f32>((x_111 - x_113), (x_116 - x_118)); 55 param_3 = vec2<f32>((x_122 - x_124), (x_127 - x_129)); 56 let x_132 : f32 = cross2d_vf2_vf2_(&(param_2), &(param_3)); 57 pbc = x_132; 58 let x_133 : f32 = pab; 59 let x_135 : f32 = pbc; 60 let x_137 : bool = ((x_133 < 0.0) && (x_135 < 0.0)); 61 x_146_phi = x_137; 62 if (!(x_137)) { 63 let x_141 : f32 = pab; 64 let x_143 : f32 = pbc; 65 x_145 = ((x_141 >= 0.0) && (x_143 >= 0.0)); 66 x_146_phi = x_145; 67 } 68 let x_146 : bool = x_146_phi; 69 if (!(x_146)) { 70 return 0; 71 } 72 let x_151 : f32 = (*(p)).x; 73 let x_153 : f32 = (*(c)).x; 74 let x_156 : f32 = (*(p)).y; 75 let x_158 : f32 = (*(c)).y; 76 let x_162 : f32 = (*(a_1)).x; 77 let x_164 : f32 = (*(c)).x; 78 let x_167 : f32 = (*(a_1)).y; 79 let x_169 : f32 = (*(c)).y; 80 param_4 = vec2<f32>((x_151 - x_153), (x_156 - x_158)); 81 param_5 = vec2<f32>((x_162 - x_164), (x_167 - x_169)); 82 let x_172 : f32 = cross2d_vf2_vf2_(&(param_4), &(param_5)); 83 pca = x_172; 84 let x_173 : f32 = pab; 85 let x_175 : f32 = pca; 86 let x_177 : bool = ((x_173 < 0.0) && (x_175 < 0.0)); 87 x_186_phi = x_177; 88 if (!(x_177)) { 89 let x_181 : f32 = pab; 90 let x_183 : f32 = pca; 91 x_185 = ((x_181 >= 0.0) && (x_183 >= 0.0)); 92 x_186_phi = x_185; 93 } 94 let x_186 : bool = x_186_phi; 95 if (!(x_186)) { 96 return 0; 97 } 98 return 1; 99} 100 101fn main_1() { 102 var pos : vec2<f32>; 103 var param_6 : vec2<f32>; 104 var param_7 : vec2<f32>; 105 var param_8 : vec2<f32>; 106 var param_9 : vec2<f32>; 107 let x_63 : vec4<f32> = gl_FragCoord; 108 let x_66 : vec2<f32> = x_24.resolution; 109 pos = (vec2<f32>(x_63.x, x_63.y) / x_66); 110 let x_68 : vec2<f32> = pos; 111 param_6 = x_68; 112 param_7 = vec2<f32>(0.699999988, 0.300000012); 113 param_8 = vec2<f32>(0.5, 0.899999976); 114 param_9 = vec2<f32>(0.100000001, 0.400000006); 115 let x_69 : i32 = pointInTriangle_vf2_vf2_vf2_vf2_(&(param_6), &(param_7), &(param_8), &(param_9)); 116 if ((x_69 == 1)) { 117 x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0); 118 } else { 119 x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 1.0); 120 } 121 return; 122} 123 124struct main_out { 125 [[location(0)]] 126 x_GLF_color_1 : vec4<f32>; 127}; 128 129[[stage(fragment)]] 130fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out { 131 gl_FragCoord = gl_FragCoord_param; 132 main_1(); 133 return main_out(x_GLF_color); 134} 135