summaryrefslogtreecommitdiff
path: root/render/fx_renderer/gles2/shaders/quad_grad.frag
diff options
context:
space:
mode:
authorame <[email protected]>2024-10-24 12:45:09 -0500
committerame <[email protected]>2024-10-24 12:45:09 -0500
commit6fe9f31f55a291bf738c8b76b75190a4ac909df1 (patch)
tree3b12f99e96adc2691df3064e49ebd5df82694f5d /render/fx_renderer/gles2/shaders/quad_grad.frag
parent0e4a97e5a67d886e64c0d5337b281dc2c68332cf (diff)
clean shaders and other formatting
Diffstat (limited to 'render/fx_renderer/gles2/shaders/quad_grad.frag')
-rw-r--r--render/fx_renderer/gles2/shaders/quad_grad.frag44
1 files changed, 1 insertions, 43 deletions
diff --git a/render/fx_renderer/gles2/shaders/quad_grad.frag b/render/fx_renderer/gles2/shaders/quad_grad.frag
index 6f611ca..465da81 100644
--- a/render/fx_renderer/gles2/shaders/quad_grad.frag
+++ b/render/fx_renderer/gles2/shaders/quad_grad.frag
@@ -16,48 +16,6 @@ uniform bool linear;
uniform bool blend;
uniform int count;
-vec4 gradient(){
- float step;
-
- vec2 normal = (gl_FragCoord.xy - grad_box)/size;
- vec2 uv = normal - origin;
-
- float rad = radians(degree);
-
- if(linear){
- uv *= vec2(1.0)/vec2(abs(cos(rad)) + abs(sin(rad)));
-
- vec2 rotated = vec2(uv.x * cos(rad) - uv.y * sin(rad) + origin.x,
- uv.x * sin(rad) + uv.y * cos(rad) + origin.y);
-
- step = rotated.x;
- } else {
- vec2 uv = normal - origin;
- uv = vec2(uv.x * cos(rad) - uv.y * sin(rad),
- uv.x * sin(rad) + uv.y * cos(rad));
-
- uv = vec2(-atan(uv.y, uv.x)/3.14159265 * 0.5 + 0.5, 0.0);
- step = uv.x;
- }
-
- if(!blend){
- float smooth = 1.0/float(count);
- int ind = int(step/smooth);
-
- return colors[ind];
- }
-
- float smooth = 1.0/float(count - 1);
- int ind = int(step/smooth);
- float at = float(ind)*smooth;
-
- vec4 color = colors[ind];
- if(ind > 0) color = mix(colors[ind - 1], color, smoothstep(at - smooth, at, step));
- if(ind <= count - 1) color = mix(color, colors[ind + 1], smoothstep(at, at + smooth, step));
-
- return color;
-}
-
void main(){
- gl_FragColor = gradient();
+ gl_FragColor = gradient(colors, count, size, grad_box, origin, degree, linear, blend);
}