Created
November 17, 2022 02:25
-
-
Save jonahwilliams/b66b9e7aa3ce72f018a9f464d9ae4352 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#version 100 | |
precision mediump float; | |
precision highp int; | |
struct GradientInfo | |
{ | |
highp vec2 center; | |
highp float radius; | |
highp float tile_mode; | |
highp float alpha; | |
highp float colors_length; | |
highp vec4 colors[16]; | |
}; | |
uniform GradientInfo gradient_info; | |
varying highp vec2 v_position; | |
void main() | |
{ | |
highp float _151 = length(v_position - gradient_info.center) / gradient_info.radius; | |
highp vec4 param[16] = vec4[](vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0), vec4(0.0)); | |
param[0] = gradient_info.colors[0]; | |
param[1] = gradient_info.colors[1]; | |
param[2] = gradient_info.colors[2]; | |
param[3] = gradient_info.colors[3]; | |
param[4] = gradient_info.colors[4]; | |
param[5] = gradient_info.colors[5]; | |
param[6] = gradient_info.colors[6]; | |
param[7] = gradient_info.colors[7]; | |
param[8] = gradient_info.colors[8]; | |
param[9] = gradient_info.colors[9]; | |
param[10] = gradient_info.colors[10]; | |
param[11] = gradient_info.colors[11]; | |
param[12] = gradient_info.colors[12]; | |
param[13] = gradient_info.colors[13]; | |
param[14] = gradient_info.colors[14]; | |
param[15] = gradient_info.colors[15]; | |
highp vec4 _338 = vec4(0.0); | |
for (int spvDummy131 = 0; spvDummy131 < 1; spvDummy131++) | |
{ | |
if (((_151 < 0.0) || (_151 > 1.0)) && (gradient_info.tile_mode == 3.0)) | |
{ | |
_338 = vec4(0.0); | |
break; | |
} | |
highp float _335 = 0.0; | |
if (gradient_info.tile_mode == 0.0) | |
{ | |
_335 = clamp(_151, 0.0, 1.0); | |
} | |
else | |
{ | |
highp float _336 = 0.0; | |
if (gradient_info.tile_mode == 1.0) | |
{ | |
_336 = fract(_151); | |
} | |
else | |
{ | |
highp float _337 = 0.0; | |
if (gradient_info.tile_mode == 2.0) | |
{ | |
highp float _321 = _151 - 1.0; | |
_337 = abs(((-2.0) * floor(_321 * 0.5) + _321) - 1.0); | |
} | |
else | |
{ | |
_337 = _151; | |
} | |
_336 = _337; | |
} | |
_335 = _336; | |
} | |
if (gradient_info.colors_length == 2.0) | |
{ | |
_338 = mix(param[0], param[1], vec4(_335)); | |
break; | |
} | |
highp float _280 = gradient_info.colors_length * _335; | |
highp float _282 = floor(_280); | |
_338 = mix(param[int(_282)], param[int(ceil(_280))], vec4(gradient_info.colors_length * _335 + (-_282))); | |
break; | |
} | |
gl_FragData[0] = _338; | |
gl_FragData[0] = vec4(gl_FragData[0].xyz * gl_FragData[0].w, gl_FragData[0].w) * gradient_info.alpha; | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment