From c49dec43319f0f417f154e6230c2af272710d9f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Lemaire?= Date: Thu, 20 Jun 2013 23:47:40 +0200 Subject: [PATCH] Quick fix for big cloud lighting artifact --- src/rendering/clouds/clo_rendering.c | 2 +- src/rendering/tools/lighting.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rendering/clouds/clo_rendering.c b/src/rendering/clouds/clo_rendering.c index 1d6abd4..27c0274 100644 --- a/src/rendering/clouds/clo_rendering.c +++ b/src/rendering/clouds/clo_rendering.c @@ -129,7 +129,7 @@ static void _walkerMaterialCallback(CloudsWalker* walker) data->out_scattering += 0.5 * density_integral; - Color in_scattering = renderer->applyLightingToSurface(renderer, segment->start.location, VECTOR_UP, &layer->material); + Color in_scattering = renderer->applyLightingToSurface(renderer, segment->start.location, VECTOR_ZERO, &layer->material); in_scattering.r *= density_integral * 5.0; in_scattering.g *= density_integral * 5.0; in_scattering.b *= density_integral * 5.0; diff --git a/src/rendering/tools/lighting.c b/src/rendering/tools/lighting.c index fa241b6..8c1f771 100644 --- a/src/rendering/tools/lighting.c +++ b/src/rendering/tools/lighting.c @@ -175,7 +175,7 @@ Color lightingApplyOneLight(LightDefinition* light, Vector3 eye, Vector3 locatio double specular = v3Dot(reflect, view); if (specular > 0.0) { - specular = pow(specular, material->shininess) * material->reflection * light->reflection; + specular = pow(specular, material->shininess) * material->reflection * light->reflection * normal_norm; if (specular > 0.0) { result.r += specular * light_color.r;