From bf73fbc1ad3ed8b13683481c29cc2ec39e2d3117 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Wed, 20 Mar 2024 15:29:26 +1100 Subject: cursed point lights everywhere (but god it looks good) --- source/rendering/StarTilePainter.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'source/rendering') diff --git a/source/rendering/StarTilePainter.cpp b/source/rendering/StarTilePainter.cpp index 91b1367..58d9d28 100644 --- a/source/rendering/StarTilePainter.cpp +++ b/source/rendering/StarTilePainter.cpp @@ -38,7 +38,7 @@ TilePainter::TilePainter(RendererPtr renderer) : TileDrawer() { void TilePainter::adjustLighting(WorldRenderData& renderData) const { RectI lightRange = RectI::withSize(renderData.lightMinPosition, Vec2I(renderData.lightMap.size())); forEachRenderTile(renderData, lightRange, [&](Vec2I const& pos, RenderTile const& tile) { - // Only adjust lighting for full tiles + // Only adjust lighting for tiles with liquid above the draw threshold float drawLevel = liquidDrawLevel(byteToFloat(tile.liquidLevel)); if (drawLevel == 0.0f) return; @@ -47,9 +47,8 @@ void TilePainter::adjustLighting(WorldRenderData& renderData) const { auto lightValue = renderData.lightMap.get(lightIndex.x(), lightIndex.y()); auto const& liquid = m_liquids[tile.liquidId]; - Vec3F tileLight = Vec3F(lightValue); - float darknessLevel = (1.f - tileLight.sum() / 3.0f) * drawLevel; - lightValue = tileLight.piecewiseMultiply(Vec3F::filled(1.f - darknessLevel) + liquid.bottomLightMix * darknessLevel); + float darknessLevel = (1.f - (lightValue.sum() / 3.0f)) * drawLevel; + lightValue = lightValue.piecewiseMultiply(Vec3F::filled(1.f - darknessLevel) + liquid.bottomLightMix * darknessLevel); renderData.lightMap.set(lightIndex.x(), lightIndex.y(), lightValue); }); -- cgit v1.2.3