From f6c7abf8dcbff4f308c421470f232a007be02adf Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sun, 30 Apr 2023 16:01:55 +0100 Subject: [PATCH] Improve rendering --- src/pipelines/render/render.wgsl | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/pipelines/render/render.wgsl b/src/pipelines/render/render.wgsl index 18c8d82..3fc886b 100644 --- a/src/pipelines/render/render.wgsl +++ b/src/pipelines/render/render.wgsl @@ -8,20 +8,28 @@ struct Settings { }; @group(0) @binding(0) var settings: Settings; -@group(0) @binding(1) var mySampler: sampler; -@group(0) @binding(2) var TargetTexture: texture_2d; +@group(0) @binding(1) var Sampler: sampler; +@group(0) @binding(2) var trailMap: texture_2d; +@group(0) @binding(3) var noiseMap: texture_2d; @fragment fn fragment(@location(0) uv: vec2) -> @location(0) vec4 { - let traces = textureSample(TargetTexture, mySampler, uv); + let traces = textureSample(trailMap, Sampler, uv); + let noise = textureSample(noiseMap, Sampler, uv); let speciesAStrength = traces.r; let speciesBStrength = traces.g; let brushStrength = traces.a; - return vec4( + + let rgbColor = sqrt(vec3( settings.speciesColorA * speciesAStrength + settings.speciesColorB * speciesBStrength + - settings.brushColor * brushStrength, - 1 - ); + settings.brushColor * brushStrength + )); + + + let bg = vec3(0.9) + 0.2 * (noise.r - 0.5); + + + return vec4(bg - rgbColor, 1); }