// https://www.shadertoy.com/view/Md2GRc /* { "ProceduralEntity": { "shaderUrl": "file:///C:/msys64/home/ajthy/code/hifi/examples/fractal_lines_of_symmetry.glsl", "version": 2, "uniforms": { } } } */ uniform float test; void mainImage( out vec4 fragColor, in vec3 fragCoord ) { float p; float r; vec3 col; // p = sin(test * 1000) * 100; // r = cos(test * 100); // col = vec3( // fragCoord.x * r, // fragCoord.y / p + r, // fragCoord.z + p // ); p = test * 5; r = test * 5; // col = vec3( // sin(fragCoord.z + 10) + 10, // cos(fragCoord.z + r) / 10, // p // ); col = vec3( 0.5, 0.7, 0.2 ); if (test >= 0.05) { // p = sin(test); // r = cos(test); col = vec3( sin(fragCoord.x * (test * 10)), cos(fragCoord.y + (test * 10)), sin(fragCoord.z / (test * 10)) ); } // } else if (test < 0.08 && test >= 0.06 ) { // p = sin(iGlobalTime) / 2; // r = cos(iGlobalTime) / 2; // col = vec3( // fragCoord.y / p, // fragCoord.z / p + r, // fragCoord.y / p // ); // } else if (test < 0.06 && test > 0.001 ) { // p = sin(iGlobalTime) * 2; // r = cos(iGlobalTime) * 2; // col = vec3( // fragCoord.x / r, // fragCoord.y / p, // fragCoord.z / p // ); // } fragColor = vec4(col, 1.0); } vec4 getProceduralColor() { vec4 result; // vec2 position = vec2(0, 0) + _position.xz; // mainImage(result, position * iWorldScale.xz); mainImage(result, vec3(_position.xyz)); return result; } float getProceduralColors(inout vec3 diffuse, inout vec3 specular, inout float shininess) { specular = vec3(0.5, 1.0, 1.0); shininess = 0.5; diffuse = getProceduralColor().xyz; return 0.5; }