| struct Scene { |
| vEyePosition : vec4<f32>, |
| } |
| |
| struct Material { |
| vDiffuseColor : vec4<f32>, |
| vAmbientColor : vec3<f32>, |
| placeholder : f32, |
| vEmissiveColor : vec3<f32>, |
| placeholder2 : f32, |
| } |
| |
| struct Mesh { |
| visibility : f32, |
| } |
| |
| var<private> fClipDistance3 : f32; |
| |
| var<private> fClipDistance4 : f32; |
| |
| @group(0) @binding(0) var<uniform> x_29 : Scene; |
| |
| @group(0) @binding(1) var<uniform> x_49 : Material; |
| |
| @group(0) @binding(2) var<uniform> x_137 : Mesh; |
| |
| var<private> glFragColor : vec4<f32>; |
| |
| fn main_1() { |
| var viewDirectionW : vec3<f32>; |
| var baseColor : vec4<f32>; |
| var diffuseColor : vec3<f32>; |
| var alpha : f32; |
| var normalW : vec3<f32>; |
| var uvOffset : vec2<f32>; |
| var baseAmbientColor : vec3<f32>; |
| var glossiness : f32; |
| var diffuseBase : vec3<f32>; |
| var shadow : f32; |
| var refractionColor : vec4<f32>; |
| var reflectionColor : vec4<f32>; |
| var emissiveColor : vec3<f32>; |
| var finalDiffuse : vec3<f32>; |
| var finalSpecular : vec3<f32>; |
| var color : vec4<f32>; |
| let x_9 : f32 = fClipDistance3; |
| if ((x_9 > 0.0)) { |
| discard; |
| } |
| let x_17 : f32 = fClipDistance4; |
| if ((x_17 > 0.0)) { |
| discard; |
| } |
| let x_34 : vec4<f32> = x_29.vEyePosition; |
| let x_38 : vec3<f32> = vec3<f32>(0.0, 0.0, 0.0); |
| viewDirectionW = normalize((vec3<f32>(x_34.x, x_34.y, x_34.z) - x_38)); |
| baseColor = vec4<f32>(1.0, 1.0, 1.0, 1.0); |
| let x_52 : vec4<f32> = x_49.vDiffuseColor; |
| diffuseColor = vec3<f32>(x_52.x, x_52.y, x_52.z); |
| let x_60 : f32 = x_49.vDiffuseColor.w; |
| alpha = x_60; |
| let x_62 : vec3<f32> = vec3<f32>(0.0, 0.0, 0.0); |
| let x_64 : vec3<f32> = vec3<f32>(0.0, 0.0, 0.0); |
| uvOffset = vec2<f32>(0.0, 0.0); |
| let x_74 : vec4<f32> = vec4<f32>(0.0, 0.0, 0.0, 0.0); |
| let x_76 : vec4<f32> = baseColor; |
| let x_78 : vec3<f32> = (vec3<f32>(x_76.x, x_76.y, x_76.z) * vec3<f32>(x_74.x, x_74.y, x_74.z)); |
| let x_79 : vec4<f32> = baseColor; |
| baseColor = vec4<f32>(x_78.x, x_78.y, x_78.z, x_79.w); |
| baseAmbientColor = vec3<f32>(1.0, 1.0, 1.0); |
| glossiness = 0.0; |
| diffuseBase = vec3<f32>(0.0, 0.0, 0.0); |
| shadow = 1.0; |
| refractionColor = vec4<f32>(0.0, 0.0, 0.0, 1.0); |
| reflectionColor = vec4<f32>(0.0, 0.0, 0.0, 1.0); |
| let x_94 : vec3<f32> = x_49.vEmissiveColor; |
| emissiveColor = x_94; |
| let x_96 : vec3<f32> = diffuseBase; |
| let x_97 : vec3<f32> = diffuseColor; |
| let x_99 : vec3<f32> = emissiveColor; |
| let x_103 : vec3<f32> = x_49.vAmbientColor; |
| let x_108 : vec4<f32> = baseColor; |
| finalDiffuse = (clamp((((x_96 * x_97) + x_99) + x_103), vec3<f32>(0.0, 0.0, 0.0), vec3<f32>(1.0, 1.0, 1.0)) * vec3<f32>(x_108.x, x_108.y, x_108.z)); |
| finalSpecular = vec3<f32>(0.0, 0.0, 0.0); |
| let x_113 : vec3<f32> = finalDiffuse; |
| let x_114 : vec3<f32> = baseAmbientColor; |
| let x_116 : vec3<f32> = finalSpecular; |
| let x_118 : vec4<f32> = reflectionColor; |
| let x_121 : vec4<f32> = refractionColor; |
| let x_123 : vec3<f32> = ((((x_113 * x_114) + x_116) + vec3<f32>(x_118.x, x_118.y, x_118.z)) + vec3<f32>(x_121.x, x_121.y, x_121.z)); |
| let x_124 : f32 = alpha; |
| color = vec4<f32>(x_123.x, x_123.y, x_123.z, x_124); |
| let x_129 : vec4<f32> = color; |
| let x_132 : vec3<f32> = max(vec3<f32>(x_129.x, x_129.y, x_129.z), vec3<f32>(0.0, 0.0, 0.0)); |
| let x_133 : vec4<f32> = color; |
| color = vec4<f32>(x_132.x, x_132.y, x_132.z, x_133.w); |
| let x_140 : f32 = x_137.visibility; |
| let x_142 : f32 = color.w; |
| color.w = (x_142 * x_140); |
| let x_147 : vec4<f32> = color; |
| glFragColor = x_147; |
| return; |
| } |
| |
| struct main_out { |
| @location(0) |
| glFragColor_1 : vec4<f32>, |
| } |
| |
| @fragment |
| fn main(@location(2) fClipDistance3_param : f32, @location(3) fClipDistance4_param : f32) -> main_out { |
| fClipDistance3 = fClipDistance3_param; |
| fClipDistance4 = fClipDistance4_param; |
| main_1(); |
| return main_out(glFragColor); |
| } |