28 lines
No EOL
872 B
GLSL
28 lines
No EOL
872 B
GLSL
// based on https://www.shadertoy.com/view/Ms2SWW
|
|
|
|
void SetupMaterial( inout Material mat )
|
|
{
|
|
vec2 uv = vTexCoord.st;
|
|
vec2 p = 2.*(uv-.5);
|
|
p.x += sin(timer*.2)*.3;
|
|
p.y += cos(timer*.2)*.3;
|
|
float a = atan(p.y,p.x);
|
|
float a2 = atan(p.y,abs(p.x));
|
|
a += timer*.1;
|
|
a2 += timer*.1;
|
|
float r = length(p);
|
|
vec2 ccoord = vec2(.25/r+.1*timer,a/3.14169265)*4.;
|
|
vec2 ccoord2 = vec2(ccoord.x,a2/3.14169265)*4.;
|
|
vec3 col = textureGrad(tex,ccoord,dFdx(ccoord2),dFdy(ccoord2)).rgb;
|
|
a += .125*3.14159265;
|
|
a2 += .125*3.14159265;
|
|
ccoord = vec2(.25/r+.05*timer,a/3.14169265)*4.;
|
|
ccoord2 = vec2(ccoord.x,a2/3.14169265)*4.;
|
|
col += textureGrad(tex,ccoord,dFdx(ccoord2),dFdy(ccoord2)).rgb;
|
|
col *= vec3(.3,.6,1.);
|
|
col += pow(max(0.,1.2-r),1.5);
|
|
col *= vec3(1.,1.2,1.5);
|
|
col = clamp(col,vec3(0.),vec3(1.));
|
|
mat.Base = vec4(col,1.);
|
|
mat.Normal = ApplyNormalMap(vTexCoord.st);
|
|
} |