3 layout(location=0) in vec2 vTexCoord;
4 layout(location=1) in vec3 vIllumination;
5 layout(location=2) in float vSpecular;
7 layout( set = 0, binding = 1, std140 ) uniform FragData
12 float preMultipliedAlpha;
15 layout( set = 0, binding = 2 ) uniform sampler2D sDiffuse;
17 layout( location = 0 ) out vec4 fragColor;
21 return vec4( mixColor * mix( 1.0, opacity, preMultipliedAlpha ), opacity );
26 vec4 texture = texture( sDiffuse, vTexCoord );
27 vec4 visualMixColor = visualMixColor();
28 fragColor = vec4( vIllumination.rgb * texture.rgb * uColor.rgb * visualMixColor.rgb + vSpecular * 0.3, texture.a * uColor.a * visualMixColor.a );