Files
bluflame/hgplus/ShaderMinifier/tests/real/the orange guy/dfc_pixel.glsl
2026-04-18 22:31:51 +02:00

68 lines
1.4 KiB
GLSL

const float PI = 3.1415926;
uniform float localTime;
vec3 coul2(float x, float y)
{
float h = (x + 1.0) * 350.0;
float w = (y + 1.0) * 350.0;
float hi = (h - 350.0) / 20.0;
float wi = (w - 350.0) / 20.0;
float xo = hi;
float yo = wi + localTime;/*cos(hi/5.0) + wi + 0.1; */
float xa = cos(hi/5.0);
float ya = cos(wi/5.0);
float cosxa = cos(xa);
float sinxa = sin(xa);
float cosya = cos(ya);
float sinya = sin(ya);
vec3 res = vec3(0.0,0.0,0.0);
for (int l = 0; l <= 30; l++)
{
float li = (float(l) - 15.0) * 2.0;
float zo = li;
float za = cos(li / 20.0);
float tmp = yo * cosxa + zo * sinxa;
zo = zo * cosxa - yo * sinxa;
yo = tmp;
float tmp2 = xo * cosya + zo * sinya;
zo = zo * cosya - xo * sinya;
xo = tmp2;
/*
float tmp3 = xo * cos(za) + yo * sin(za);
yo = yo * cos(za) - xo * sin(za);
xo = tmp3;
*/
vec3 color = vec3(128.0) + vec3(128.0) * vec3(cos(zo), cos(zo + PI * 2.0 / 3.0), cos(zo - PI * 2.0 / 3.0));
float length = sqrt( xo * xo + yo * yo + zo * zo ) - 30.0;
float contrib = 0.25 / (1.0 + 400.0 * length * length);
res = res * (1.0 - contrib) + color * contrib;
/* res += contrib * color; */
}
return res;
}
void main()
{
vec2 p = 0.5 * gl_TexCoord[0].xy + vec2(0.1,0.1);
gl_FragColor = vec4( 0.15 * coul2(p.x, p.y) , 1.0);
}