mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 07:45:33 +00:00
16 lines
558 B
Text
16 lines
558 B
Text
|
|
group_uniforms uv_pinch;
|
||
|
|
uniform float uv_pinch_center_x: hint_range(0.0, 1.0) = 0.5;
|
||
|
|
uniform float uv_pinch_center_y: hint_range(0.0, 1.0) = 0.5;
|
||
|
|
uniform float uv_pinch_amount;
|
||
|
|
group_uniforms;
|
||
|
|
|
||
|
|
vec2 uv_pinch(vec2 uv, vec2 main_texture_scale)
|
||
|
|
{
|
||
|
|
vec2 center = vec2(uv_pinch_center_x * main_texture_scale.x,
|
||
|
|
uv_pinch_center_y * main_texture_scale.y);
|
||
|
|
vec2 dP = uv - center;
|
||
|
|
float pinchInt = (PI / length(center)) * (-uv_pinch_amount + 0.001);
|
||
|
|
uv = center + normalize(dP) * atan(-length(dP) * pinchInt * 10.0)
|
||
|
|
* 0.5 / atan(-pinchInt * 5.);
|
||
|
|
return uv;
|
||
|
|
}
|