I think the zooming has something to do with illustrating noise generation, just a hunch based off some stuff I read earlier about perlin noise. But looking at the code for water4, I'm so lost lol. So I studied it like I did QB programs way back in the day, start changing variables to see what happens!
The zooming is happening with this:
k.xy = uvVarying*agk_time;
My best guess is that agk_time is equal to agk's timer() function, the runtime of the app in seconds (a float). So changing agk_time to a literal constant like 10.0 stops the zooming. Higher numbers zoom out further.
Thanks for those shaders! 3 and 4 I think are my favorites.
I changed water4.ps to the following:
varying vec2 uvVarying;
uniform float agk_time;
uniform float frequency;
void main()
{
vec4 k=vec4(agk_time)*0.5;
k.xy = uvVarying*frequency;
k = pow(min(min(length(0.5-fract(k.xyw*=mat3(-2,-1,2, 3,-2,1, 1,2,2)*0.5)),
length(0.5-fract(k.xyw*=mat3(-2,-1,2, 3,-2,1, 1,2,2)*.4))),
length(0.5-fract(k.xyw*=mat3(-2,-1,2, 3,-2,1, 1,2,2)*.3))), 7.0)*25.0+vec4(0.0,0.35,0.5,1.0);
gl_FragColor = k;
}
Then you can adjust the level of zoom with:
SetShaderConstantByName(ShaderID,"frequency", 46.5 ,0,0,0)
"I like offending people, because I think people who get offended should be offended." - Linus Torvalds