summaryrefslogtreecommitdiff
path: root/shaders
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2025-01-18 23:42:15 +0100
committerMiguel <m.i@gmx.at>2025-01-18 23:42:15 +0100
commitcb1ad9f907a879a4402bcd121502f5e74aedd2f9 (patch)
tree18f1838b1c93b0728c2e13025c8929efdf9c856c /shaders
parent950f6305fa70bd8c8e6acbac55cb33d23954207d (diff)
cleanup and some tiny experiments
Diffstat (limited to 'shaders')
-rw-r--r--shaders/shader.frag48
-rw-r--r--shaders/shader.vert16
2 files changed, 59 insertions, 5 deletions
diff --git a/shaders/shader.frag b/shaders/shader.frag
index 7c5b0e7..7566a89 100644
--- a/shaders/shader.frag
+++ b/shaders/shader.frag
@@ -4,6 +4,52 @@ layout(location = 0) in vec3 fragColor;
layout(location = 0) out vec4 outColor;
+vec4 mainImage();
+
void main() {
- outColor = vec4(fragColor, 1.0);
+ if(mod (gl_FragCoord.x,3.0) < 1 && mod(gl_FragCoord.y,2.0) > 1)
+ outColor = vec4(1,1,1,1.0);
+ else
+ outColor = mainImage(); //vec4(fragColor, 1.0);
+
+}
+
+
+// https://www.shadertoy.com/view/WdsGzM
+
+#define PI 3.14159265359
+
+vec2 rotate2d(vec2 uv,float _angle){return mat2(cos(_angle),-sin(_angle),sin(_angle),cos(_angle)) * uv;}
+vec2 scale2d(vec2 uv,float _scale){return uv * mat2(_scale,0.0,0.0,_scale);}
+
+float random (vec2 st) {
+ return fract(sin(dot(st.xy,vec2(20.,100.)))*10000.);
+}
+
+vec4 mainImage()
+{
+ vec2 fragCoord;
+ fragCoord.x=gl_FragCoord.x;
+ fragCoord.y=gl_FragCoord.y;
+ int iTime = 0;
+ vec2 iResolution = vec2(800,600);
+
+ ///
+ vec2 uv = fragCoord/iResolution.xy;
+ uv.x *= iResolution.x / iResolution.y;
+ uv=rotate2d(uv,1.+fract(iTime*0.02)*2.*PI);
+ uv*=5.+0.4*sin(iTime/2.);
+
+
+ vec2 pos = vec2(0.5)-fract(uv);
+ pos=rotate2d(pos,fract(iTime*0.4+random(floor(uv)))*2.*PI);
+ pos=scale2d(pos,0.5+sin(random(uv+fract(iTime)*2.*PI)));
+
+
+ float r = length(pos)*2.0;
+ float a = atan(pos.y,pos.x);
+ float f = smoothstep(-.0,1., cos(a*max(3.,floor(abs(uv.x))*floor(abs(uv.y)))))*0.3+0.5;
+ vec3 color = vec3( 1.-smoothstep(f,f+0.02,r) );
+ return vec4(color*vec3(0.1,0.5*random(floor(uv)),0.8+0.1*sin(2.*PI*fract(iTime*0.3))),1.0);
+
}
diff --git a/shaders/shader.vert b/shaders/shader.vert
index f5b2f8d..e8c6a28 100644
--- a/shaders/shader.vert
+++ b/shaders/shader.vert
@@ -2,16 +2,24 @@
layout(location = 0) out vec3 fragColor;
-vec2 positions[3] = vec2[](
+vec2 positions[6] = vec2[](
vec2(0.0, -0.5),
vec2(0.5, 0.5),
- vec2(-0.5, 0.5)
+ vec2(-0.5, 0.5),
+
+ vec2(0, -1),
+ vec2(1, -1),
+ vec2(1, 1)
);
-vec3 colors[3] = vec3[](
+vec3 colors[6] = vec3[](
vec3(1.0, 0.0, 0.0),
vec3(0.0, 1.0, 0.0),
- vec3(0.0, 0.0, 1.0)
+ vec3(0.0, 0.0, 1.0),
+
+ vec3(0.0, 1.0, 1.0),
+ vec3(0.0, 1.0, 1.0),
+ vec3(0.0, 1.0, 1.0)
);
void main() {