19 lines
No EOL
459 B
GLSL
19 lines
No EOL
459 B
GLSL
shader_type canvas_item;
|
|
render_mode unshaded;
|
|
|
|
uniform vec4 fillColor: hint_color;
|
|
uniform vec4 baseColor: hint_color;
|
|
uniform float fillRatio: hint_range(0.0, 1.0);
|
|
uniform float fillAngle: hint_range(0.0, 6.28);
|
|
|
|
void fragment() {
|
|
vec4 col = texture(TEXTURE, UV);
|
|
vec3 mask = col.xyz * -1.0 + 1.0;
|
|
if (UV.y+fillAngle*UV.x > (1.0 - fillRatio)*1.2) {
|
|
mask *= fillColor.xyz;
|
|
col.xyz += mask.xyz;
|
|
} else {
|
|
col.xyz += baseColor.xyz;
|
|
}
|
|
COLOR = col;
|
|
} |