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;