2020-04-25 02:38:58 +00:00
|
|
|
#version 100
|
2021-02-02 23:28:01 +00:00
|
|
|
|
|
|
|
#ifdef GL_FRAGMENT_PRECISION_HIGH
|
|
|
|
precision highp float;
|
|
|
|
#else
|
|
|
|
precision mediump float;
|
|
|
|
#endif
|
2020-04-25 02:38:58 +00:00
|
|
|
|
|
|
|
uniform mat4 view_matrix;
|
|
|
|
uniform mat4 world_matrix;
|
|
|
|
uniform vec4 mult_color;
|
|
|
|
uniform vec4 add_color;
|
|
|
|
uniform mat3 u_matrix;
|
|
|
|
|
|
|
|
uniform sampler2D u_texture;
|
|
|
|
|
|
|
|
varying vec2 frag_uv;
|
|
|
|
|
|
|
|
void main() {
|
|
|
|
vec4 color = texture2D(u_texture, frag_uv);
|
|
|
|
|
|
|
|
// Unmultiply alpha before apply color transform.
|
|
|
|
if( color.a > 0.0 ) {
|
|
|
|
color.rgb /= color.a;
|
|
|
|
color = mult_color * color + add_color;
|
|
|
|
color.rgb *= color.a;
|
|
|
|
}
|
|
|
|
|
|
|
|
gl_FragColor = color;
|
|
|
|
}
|