diff --git a/README.md b/README.md index bc26374..54557a8 100644 --- a/README.md +++ b/README.md @@ -236,10 +236,10 @@ If `SLANG_ROOT` is not set, the workflow falls back to the repo-local default un - Support a separate sound shader `.slang` file in shader packages. (https://www.shadertoy.com/view/XsBXWt) - Add WebView2 - move to MSDF, typography rasterisation -- better shader search UI +- better shader search UI, pass 1 - More comprehensive greenscreen shader - linear compositing? - compute shaders or a small 1x1 or nx1 RGBA16f render target for abritary data store - allow shaders to read other shaders data store based on name? or output over OSC -- Mipmappong needed? +- Mipmappong for shader declared textures - unwrap a fish eyelens and mirror it and map it to equirectangulr for environmnet map purposes diff --git a/shaders/happy-accident/shader.slang b/shaders/happy-accident/shader.slang index 55555bc..55f1aa9 100644 --- a/shaders/happy-accident/shader.slang +++ b/shaders/happy-accident/shader.slang @@ -30,7 +30,8 @@ float4 shadeVideo(ShaderContext context) float3 direction = normalize(float3(normalizedCoord, 1.0)); float3 origin = float3(seed * 0.4 - 0.2, 0.2 - seed * 0.4, time); - float z = happyNoise(fragCoord + seed * resolution.yx); + float edgeAmount = saturate(length(normalizedCoord) * 0.55); + float z = happyNoise(fragCoord + seed * resolution.yx) * lerp(0.22, 0.08, edgeAmount); float distanceToSurface = 0.0; float4 accumulated = float4(0.0, 0.0, 0.0, 0.0); float clampedSteps = clamp(raySteps, 1.0, 77.0); @@ -50,7 +51,7 @@ float4 shadeVideo(ShaderContext context) float colorSeed = 0.5 * originalPosition.z + length(position - originalPosition); float4 palette = 1.0 + sin(colorSeed + float4(0.0, 4.0, 3.0, 6.0)); - palette /= 0.5 + 2.0 * dot(originalPosition.xy, originalPosition.xy); + palette /= 0.55 + 1.55 * dot(originalPosition.xy, originalPosition.xy); position = abs(frac(position) - 0.5); distanceToSurface = abs(min(length(position.xy) - 0.125, min(position.x, position.y) + 0.001)) + 0.001;