Index: src/core/SkLightingShader.cpp |
diff --git a/src/core/SkLightingShader.cpp b/src/core/SkLightingShader.cpp |
index b788b3c6453c2e7f04157882a9c367cddbfb0055..8fde8bfd37dedc66a244d323be8d40fa92ce87ef 100644 |
--- a/src/core/SkLightingShader.cpp |
+++ b/src/core/SkLightingShader.cpp |
@@ -122,9 +122,11 @@ |
LightingFP(sk_sp<GrFragmentProcessor> normalFP, sk_sp<SkLights> lights) { |
// fuse all ambient lights into a single one |
- fAmbientColor = lights->ambientLightColor(); |
+ fAmbientColor.set(0.0f, 0.0f, 0.0f); |
for (int i = 0; i < lights->numLights(); ++i) { |
- if (SkLights::Light::kDirectional_LightType == lights->light(i).type()) { |
+ if (SkLights::Light::kAmbient_LightType == lights->light(i).type()) { |
+ fAmbientColor += lights->light(i).color(); |
+ } else if (SkLights::Light::kDirectional_LightType == lights->light(i).type()) { |
fDirectionalLights.push_back(lights->light(i)); |
// TODO get the handle to the shadow map if there is one |
} else { |