|
|
@ -37,12 +37,12 @@ namespace lighting { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int LightRender::light_level(int strength, float distance, size_t x, size_t y) { |
|
|
|
int LightRender::light_level(int strength, float distance, size_t x, size_t y) { |
|
|
|
int new_level = distance <= 1.0f ? strength : strength / sqrt(distance); |
|
|
|
int boosted = strength + BOOST; |
|
|
|
|
|
|
|
int new_level = distance <= 1.0f ? boosted : boosted / sqrt(distance); |
|
|
|
int cur_level = $lightmap[y][x]; |
|
|
|
int cur_level = $lightmap[y][x]; |
|
|
|
return cur_level < new_level ? new_level : cur_level; |
|
|
|
return cur_level < new_level ? new_level : cur_level; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void LightRender::reset_light() { |
|
|
|
void LightRender::reset_light() { |
|
|
|
matrix::assign($lightmap, lighting::MIN); |
|
|
|
matrix::assign($lightmap, lighting::MIN); |
|
|
|
} |
|
|
|
} |
|
|
|