20 lines
745 B
Plaintext
20 lines
745 B
Plaintext
shader_type canvas_item;
|
|
|
|
// Masukkan ukuran Size panel Anda di Inspector (X dan Y)
|
|
uniform vec2 panel_size = vec2(550.0, 64.0);
|
|
// Atur radius kelengkungan dalam satuan pixel (misal: 12.0 atau 16.0)
|
|
uniform float corner_radius : hint_range(0.0, 100.0) = 8.0;
|
|
|
|
void fragment() {
|
|
vec2 center = panel_size * 0.5;
|
|
vec2 half_size = panel_size * 0.5 - vec2(corner_radius);
|
|
vec2 p = UV * panel_size - center;
|
|
vec2 d = abs(p) - half_size;
|
|
float dist = length(max(d, 0.0)) + min(max(d.x, d.y), 0.0) - corner_radius;
|
|
|
|
// Mengambil warna asli dari GradientTexture2D Anda
|
|
vec4 tex_color = texture(TEXTURE, UV);
|
|
float alpha_mask = 1.0 - step(0.0, dist);
|
|
|
|
COLOR = vec4(tex_color.rgb, tex_color.a * alpha_mask);
|
|
} |