diff options
Diffstat (limited to 'workspaces/main/shaders/scene2.wgsl')
| -rw-r--r-- | workspaces/main/shaders/scene2.wgsl | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/workspaces/main/shaders/scene2.wgsl b/workspaces/main/shaders/scene2.wgsl deleted file mode 100644 index 7df91c3..0000000 --- a/workspaces/main/shaders/scene2.wgsl +++ /dev/null @@ -1,37 +0,0 @@ -// Scene2 effect shader - ShaderToy conversion (volumetric clouds) -// Generated by convert_shadertoy.py -// NOTE: Manual review recommended - conversion is basic - -#include "sequence_uniforms" -#include "render/fullscreen_uv_vs" - -@group(0) @binding(2) var<uniform> uniforms: UniformsSequenceParams; - -fn N(a: vec3f, p: vec3f) -> f32 { - return abs(dot(sin(uniforms.time + 0.1 * p.z + 0.3 * p / a), a + a)); -} - -@fragment fn fs_main(in: VertexOutput) -> @location(0) vec4f { - let r = uniforms.resolution; - let frag_coord = vec2f(in.position.x, r.y - in.position.y); - let u = (frag_coord + frag_coord - r) / r.y; - - var p = vec3f(0.0); - var col = vec4f(0.0); - var s: f32 = 0.0; - - for (var i: f32 = 0.0; i < 100.0; i += 1.0) { - p += vec3f(u * s, s); - s = 6.0 + p.y; - s -= N(vec3f(0.08), p); - s -= N(vec3f(0.2), p); - s -= N(vec3f(0.6), p); - s = 0.1 + abs(s) * 0.2; - col += vec4f(4.0, 2.0, 1.0, 0.0) / s; - } - - col *= smoothstep(0.8, 0.75, abs(u.y)); - let len_u = max(length(u), 0.0001); - col = tanh(col / 2000.0 / len_u); - return vec4f(col.rgb, 1.0); -} |
