2 interacting layers!!
This commit is contained in:
parent
79b63154d7
commit
6bc2c1f452
|
|
@ -34,10 +34,23 @@ fn on_fragment(in: Varying) -> @location(0) vec4u {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
n -= state;
|
n -= state;
|
||||||
return vec4(rule(state.x, n.x), rule(state.y, n.y), rule(state.z, n.z), rule(state.w, n.w));
|
|
||||||
|
let z = daynight(state.z, n.z);
|
||||||
|
let px = life(state.x, n.x);
|
||||||
|
let nx = 1u - life(1u - state.x, 8u - n.x);
|
||||||
|
let x = z * px + (1u - z) * nx;
|
||||||
|
return vec4(x, 0, z, 0u);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn rule(state: u32, n: u32) -> u32{
|
fn life(state: u32, n: u32) -> u32{
|
||||||
|
switch (n) {
|
||||||
|
case 2u: { return state; }
|
||||||
|
case 3u: { return 1u; }
|
||||||
|
default: { return 0u; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn daynight(state: u32, n: u32) -> u32{
|
||||||
switch (n) {
|
switch (n) {
|
||||||
case 3u: { return 1u; }
|
case 3u: { return 1u; }
|
||||||
case 4u: { return state; }
|
case 4u: { return state; }
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user