10楼效果,Shadertoy 版本
https://www.shadertoy.com/view/4s2BRh
float RGB(float x, float y, float e)
{
return ( x * tan(x/y) ) * ( y * tan( x/y + iGlobalTime/2.0 * e ) ) / (iMouse.x*10.0+500.0);
}
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 coord;
coord = (fragCoord - iResolution.xy/2.0)*5.0;
fragColor = vec4(
float(int(RGB(coord.x, coord.y, 0.33)) %255) / 255.0,
float(int(RGB(coord.x, coord.y, 0.66)) %255) / 255.0,
float(int(RGB(coord.x, coord.y, 0.99)) %255) / 255.0,
1.0);
}