Add differentiated rendering

This commit is contained in:
Andras Schmelczer 2023-04-29 21:38:57 +01:00
commit 1578c8796a
No known key found for this signature in database
GPG key ID: FC8F2C3D3D1A718C
7 changed files with 59 additions and 23 deletions

View file

@ -53,11 +53,7 @@ fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
agent.angle += 3.14159265359 + random - 0.5;
}
textureStore(
TrailMapOut,
vec2<i32>(newPos * settings.size),
vec4(1)
);
textureStore(TrailMapOut, vec2<i32>(newPos * settings.size), vec4(1, 0, 0, 0));
agent.position = newPos;
agents[id] = agent;
@ -67,7 +63,7 @@ fn sense(agent: Agent, sensorAngleOffset: f32) -> f32 {
let sensorAngle: f32 = agent.angle + sensorAngleOffset;
let sensorDir: vec2<f32> = vec2(cos(sensorAngle), sin(sensorAngle)) / normalize(settings.size);
let sensorPos: vec2<f32> = agent.position + sensorDir * settings.sensorOffsetDst;
return textureLoad(TrailMapIn, vec2<i32>(sensorPos * settings.size), 0).x;
return length(textureLoad(TrailMapIn, vec2<i32>(sensorPos * settings.size), 0));
}
fn random(state0: u32) -> f32 {