Just released the source code of "Attractor" by Farbrausch - check it out!
https://github.com/LeStahL/attractor-8k
#demoscene #farbrausch #intro #dream210 #assembly #sointu #glsl #python #deadline
Just released the source code of "Attractor" by Farbrausch - check it out!
https://github.com/LeStahL/attractor-8k
#demoscene #farbrausch #intro #dream210 #assembly #sointu #glsl #python #deadline
Help! I've talked someone into being curious about (fragment) shader-ing ala shadertoy, but I can't find a decent node-based GUI for shader editing that has decent ergonomics but is also close enough to GLSL structurally to allow shadertoy-like mathy exploration.
So far everything I've seen fails in a significant way on either of these:
- Blender: separate "Math" and "Vector Math" nodes. "Math" node with drop-down instead of granular primitives
- Godot: "Function" node with drop-down instead of granular primitives
- Unity: uh ... i just don't want to do this to them i think
- cables.gl: no vector types at all??? setup a bit elaborate
- https://victhorlopez.github.io/editor/ closest so far; polymorphic functions but doesn't auto-cast values; UX a bit underdone
...surely there would be a web tool for this given the popularity of SDFs etc???
Help! I've talked someone into being curious about (fragment) shader-ing ala shadertoy, but I can't find a decent node-based GUI for shader editing that has decent ergonomics but is also close enough to GLSL structurally to allow shadertoy-like mathy exploration.
So far everything I've seen fails in a significant way on either of these:
- Blender: separate "Math" and "Vector Math" nodes. "Math" node with drop-down instead of granular primitives
- Godot: "Function" node with drop-down instead of granular primitives
- Unity: uh ... i just don't want to do this to them i think
- cables.gl: no vector types at all??? setup a bit elaborate
- https://victhorlopez.github.io/editor/ closest so far; polymorphic functions but doesn't auto-cast values; UX a bit underdone
...surely there would be a web tool for this given the popularity of SDFs etc???
i always take the wrong exit on freeway junctions... #glsl #gamedev #generative #allcode
// Bonfire
#define r(a)*=mat2(cos(a+vec4(0,33,11,0))),
void main(){float i,t,a,n,w,o,d=1.;for(vec3 p,q,k;i++<5e1&&d>.001;o+=d>n?d=abs(n)*.4+.05,1./d:exp(3.-length(k)*.6),t+=d*.5)for(k=normalize(vec3(P+P-R,R.y))*t,d=k.y+=6.,k.z-=15.,w=.0025,a-=a,n=.96*length(k.xz)+.27*k.y-5.34;a++<9.;w+=w)p=k,p.zx r(a*2.4)q=p,q.y-=a*T,n+=abs(dot(sin(q*.7/w),q-q+w)),p.z-=5.,p.zy r(atan(a*.18))d=min(d,max(abs(p.z+5.)-5.,max(abs(p.x)*.9+p.y*.5,-p.y)-.3));O=vec4(tanh(o*vec3(9,3,1)/5e2),1);}
// Bonfire
#define r(a)*=mat2(cos(a+vec4(0,33,11,0))),
void main(){float i,t,a,n,w,o,d=1.;for(vec3 p,q,k;i++<5e1&&d>.001;o+=d>n?d=abs(n)*.4+.05,1./d:exp(3.-length(k)*.6),t+=d*.5)for(k=normalize(vec3(P+P-R,R.y))*t,d=k.y+=6.,k.z-=15.,w=.0025,a-=a,n=.96*length(k.xz)+.27*k.y-5.34;a++<9.;w+=w)p=k,p.zx r(a*2.4)q=p,q.y-=a*T,n+=abs(dot(sin(q*.7/w),q-q+w)),p.z-=5.,p.zy r(atan(a*.18))d=min(d,max(abs(p.z+5.)-5.,max(abs(p.x)*.9+p.y*.5,-p.y)-.3));O=vec4(tanh(o*vec3(9,3,1)/5e2),1);}
A series of tricks and techniques I learned doing tiny GLSL demos
https://blog.pkh.me/p/48-a-series-of-tricks-and-techniques-i-learned-doing-tiny-glsl-demos.html
#HackerNews #GLSL #tricks #techniques #tiny #demos #graphics #programming
Clockwork loop
Clockwork loop
Squidgy circle
Clockwork loop
Pulsing colors
tiny! #glsl
Diamond ring