major gfx refactor

This commit is contained in:
asrael 2026-02-02 17:48:25 -06:00
parent 0c0aa792c1
commit 3c3e961995
58 changed files with 3681 additions and 2982 deletions

View file

@ -48,6 +48,36 @@ void pxl8_lights_add(pxl8_lights* lights, f32 x, f32 y, f32 z, u8 r, u8 g, u8 b,
l->radius = radius;
l->radius_sq = radius_sq;
l->inv_radius_sq = radius_sq > 0.0f ? 1.0f / radius_sq : 0.0f;
l->constant = 1.0f;
if (radius <= 7.0f) {
l->linear = 0.7f;
l->quadratic = 1.8f;
} else if (radius <= 13.0f) {
l->linear = 0.35f;
l->quadratic = 0.44f;
} else if (radius <= 20.0f) {
l->linear = 0.22f;
l->quadratic = 0.20f;
} else if (radius <= 32.0f) {
l->linear = 0.14f;
l->quadratic = 0.07f;
} else if (radius <= 50.0f) {
l->linear = 0.09f;
l->quadratic = 0.032f;
} else if (radius <= 65.0f) {
l->linear = 0.07f;
l->quadratic = 0.017f;
} else if (radius <= 100.0f) {
l->linear = 0.045f;
l->quadratic = 0.0075f;
} else if (radius <= 160.0f) {
l->linear = 0.027f;
l->quadratic = 0.0028f;
} else {
l->linear = 0.022f;
l->quadratic = 0.0019f;
}
}
void pxl8_lights_clear(pxl8_lights* lights) {