struct Scene { | |
vEyePosition : vec4<f32>; | |
}; | |
struct Material { | |
vDiffuseColor : vec4<f32>; | |
vAmbientColor : vec3<f32>; | |
dummy: f32; | |
vEmissiveColor : vec3<f32>; | |
dummy2: 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.); | |
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.); | |
let x_64 : vec3<f32> = vec3<f32>(0., 0., 0.); | |
normalW = normalize(-(cross(dpdx(x_62), dpdy(x_64)))); | |
uvOffset = vec2<f32>(0.0, 0.0); | |
let x_74 : vec4<f32> = vec4<f32>(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>; | |
}; | |
@stage(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); | |
} |