Index: src/effects/SkLightingImageFilter.cpp |
diff --git a/src/effects/SkLightingImageFilter.cpp b/src/effects/SkLightingImageFilter.cpp |
index 4265f6e1e53c23137f5ca9db523169c44bde5c40..31d36925550a5db488d9146046283fd9a600e6ab 100644 |
--- a/src/effects/SkLightingImageFilter.cpp |
+++ b/src/effects/SkLightingImageFilter.cpp |
@@ -683,7 +683,7 @@ class GrGLLight; |
class SkImageFilterLight : public SkRefCnt { |
public: |
- |
+ |
enum LightType { |
kDistant_LightType, |
@@ -820,8 +820,8 @@ public: |
// Use X scale and Y scale on Z and average the result |
SkPoint locationZ = SkPoint::Make(fLocation.fZ, fLocation.fZ); |
matrix.mapVectors(&locationZ, 1); |
- SkPoint3 location = SkPoint3::Make(location2.fX, |
- location2.fY, |
+ SkPoint3 location = SkPoint3::Make(location2.fX, |
+ location2.fY, |
SkScalarAve(locationZ.fX, locationZ.fY)); |
return new SkPointLight(location, color()); |
} |
@@ -855,7 +855,7 @@ public: |
: INHERITED(color), |
fLocation(location), |
fTarget(target), |
- fSpecularExponent(SkScalarPin(specularExponent, kSpecularExponentMin, kSpecularExponentMax)) |
+ fSpecularExponent(specularExponent) |
{ |
fS = target - location; |
fast_normalize(&fS); |
@@ -985,9 +985,6 @@ protected: |
} |
private: |
- static const SkScalar kSpecularExponentMin; |
- static const SkScalar kSpecularExponentMax; |
- |
SkPoint3 fLocation; |
SkPoint3 fTarget; |
SkScalar fSpecularExponent; |
@@ -999,11 +996,6 @@ private: |
typedef SkImageFilterLight INHERITED; |
}; |
-// According to the spec, the specular term should be in the range [1, 128] : |
-// http://www.w3.org/TR/SVG/filters.html#feSpecularLightingSpecularExponentAttribute |
-const SkScalar SkSpotLight::kSpecularExponentMin = 1.0f; |
-const SkScalar SkSpotLight::kSpecularExponentMax = 128.0f; |
- |
/////////////////////////////////////////////////////////////////////////////// |
void SkImageFilterLight::flattenLight(SkWriteBuffer& buffer) const { |
@@ -1996,7 +1988,7 @@ void GrGLSpotLight::emitLightColor(GrGLFPBuilder* builder, |
lightColorBody.appendf("\t\treturn %s * scale * (cosAngle - %s) * %s;\n", |
color, cosOuter, coneScale); |
lightColorBody.appendf("\t}\n"); |
- lightColorBody.appendf("\treturn %s;\n", color); |
+ lightColorBody.appendf("\treturn %s * scale;\n", color); |
GrGLFragmentBuilder* fsBuilder = builder->getFragmentShaderBuilder(); |
fsBuilder->emitFunction(kVec3f_GrSLType, |
"lightColor", |