Improve rendering

This commit is contained in:
Andras Schmelczer 2023-04-30 16:01:55 +01:00
commit f6c7abf8dc
No known key found for this signature in database
GPG key ID: FC8F2C3D3D1A718C

View file

@ -8,20 +8,28 @@ struct Settings {
}; };
@group(0) @binding(0) var<uniform> settings: Settings; @group(0) @binding(0) var<uniform> settings: Settings;
@group(0) @binding(1) var mySampler: sampler; @group(0) @binding(1) var Sampler: sampler;
@group(0) @binding(2) var TargetTexture: texture_2d<f32>; @group(0) @binding(2) var trailMap: texture_2d<f32>;
@group(0) @binding(3) var noiseMap: texture_2d<f32>;
@fragment @fragment
fn fragment(@location(0) uv: vec2<f32>) -> @location(0) vec4<f32> { fn fragment(@location(0) uv: vec2<f32>) -> @location(0) vec4<f32> {
let traces = textureSample(TargetTexture, mySampler, uv); let traces = textureSample(trailMap, Sampler, uv);
let noise = textureSample(noiseMap, Sampler, uv);
let speciesAStrength = traces.r; let speciesAStrength = traces.r;
let speciesBStrength = traces.g; let speciesBStrength = traces.g;
let brushStrength = traces.a; let brushStrength = traces.a;
return vec4(
let rgbColor = sqrt(vec3(
settings.speciesColorA * speciesAStrength + settings.speciesColorA * speciesAStrength +
settings.speciesColorB * speciesBStrength + settings.speciesColorB * speciesBStrength +
settings.brushColor * brushStrength, settings.brushColor * brushStrength
1 ));
);
let bg = vec3(0.9) + 0.2 * (noise.r - 0.5);
return vec4(bg - rgbColor, 1);
} }