unoptimized new "correct" attempt at palette

This commit is contained in:
2021-11-17 20:45:51 +01:00
parent 60bd3a7874
commit 8027a8849b

View File

@@ -32,16 +32,20 @@ export fn tic(time: i32) {
} }
start fn gen_palette() { start fn gen_palette() {
let i: i32; let i: i32 = 12*16*3-1;
let avg: f32;
loop gradients { loop gradients {
let lazy scale = ((i := i + 1) % 64) as f32 / 64 as f32; let lazy scale = (i % 48) as f32 / 48 as f32;
let inline angle = i as f32 * (3.1416 / 2.0 - 3.1416 / (11.0 * 16.0 * 2.0)); let inline angle = i as f32 * (3.1416 / 1.5) - i as f32 * (3.1416 / (11.0 * 16.0 * 1.5));
let lazy a = max(0 as f32, sin(angle) * 0.8 + 0.5) * scale; let c = sin(angle) * 1.0 + 0.7;
let limit = avg + 0.8;
avg = avg + (c - avg) * 0.5;
let lazy a = min(c, limit) * scale;
let lazy b = scale * scale * 0.6; let lazy b = scale * scale * 0.6;
let inline v = (select(i < 11*16*4, min(a + b - a * b, 1 as f32), scale) * 255 as f32) as i32; let inline v = (select(i < 11*16*3, max(0 as f32, min(a + b - a * b, 1 as f32)), scale) * 255 as f32) as i32;
i?(120+320*240) = v; (i%3 + i/3*4)?(120+320*240) = v;
branch_if i < 12*16*4: gradients; branch_if (i := i - 1) >= 0: gradients;
} }
i = 255; i = 255;