Improve rendering

This commit is contained in:
Andras Schmelczer 2023-04-30 16:01:55 +01:00
parent 6a752a57e9
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(1) var mySampler: sampler;
@group(0) @binding(2) var TargetTexture: texture_2d<f32>;
@group(0) @binding(1) var Sampler: sampler;
@group(0) @binding(2) var trailMap: texture_2d<f32>;
@group(0) @binding(3) var noiseMap: texture_2d<f32>;
@fragment
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 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);
}