This commit is contained in:
Andras Schmelczer 2023-05-21 11:03:43 +01:00
parent 7e8ca4b16f
commit b547dc3339
No known key found for this signature in database
GPG key ID: FC8F2C3D3D1A718C
3 changed files with 9 additions and 9 deletions

View file

@ -53,8 +53,8 @@ export class RenderPipeline {
public setParameters({
brushColor,
speciesColorA,
speciesColorB,
speciesAColor,
speciesBColor,
clarity,
}: RenderSettings) {
this.device.queue.writeBuffer(
@ -63,9 +63,9 @@ export class RenderPipeline {
new Float32Array([
...brushColor,
0, //padding
...speciesColorA,
...speciesAColor,
0, //padding
...speciesColorB,
...speciesBColor,
clarity,
])
);

View file

@ -2,7 +2,7 @@ import { vec3 } from 'gl-matrix';
export interface RenderSettings {
brushColor: vec3;
speciesColorA: vec3;
speciesColorB: vec3;
speciesAColor: vec3;
speciesBColor: vec3;
clarity: number;
}

View file

@ -1,7 +1,7 @@
struct Settings {
brushColor: vec3<f32>,
speciesColorA: vec3<f32>,
speciesColorB: vec3<f32>,
speciesAColor: vec3<f32>,
speciesBColor: vec3<f32>,
clarity: f32,
};
@ -20,7 +20,7 @@ fn fragment(@location(0) uv: vec2<f32>) -> @location(0) vec4<f32> {
let speciesBStrength = clamp(pow(traces.g, settings.clarity), 0, 1);
let brushStrength = traces.a;
let agentColor = settings.speciesColorA * speciesAStrength + settings.speciesColorB * speciesBStrength;
let agentColor = step(speciesAStrength, speciesBStrength) * settings.speciesBColor * speciesBStrength + step(speciesBStrength, speciesAStrength) * settings.speciesAColor * speciesAStrength;
let agentStrength = speciesAStrength + speciesBStrength;
let rgbColor = sqrt(