diff options
author | senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-10-29 19:47:06 +0000 |
---|---|---|
committer | senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-10-29 19:47:06 +0000 |
commit | 7b734e08430f6b1d147dfa9f0c2c08d88aa7b714 (patch) | |
tree | c64ef068ab1e305a7b932e1eec0111b3802dd574 /src/effects/SkLightingImageFilter.cpp | |
parent | 42041e6de830c11f252aab072a6527bb28840468 (diff) |
Fix alpha computation for specular lighting filter (GPU path).
Change lighting GM background to show blending.
NOTE: This will require new results for the lighting GM.
Review URL: https://codereview.appspot.com/6812050
git-svn-id: http://skia.googlecode.com/svn/trunk@6181 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/effects/SkLightingImageFilter.cpp')
-rw-r--r-- | src/effects/SkLightingImageFilter.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/effects/SkLightingImageFilter.cpp b/src/effects/SkLightingImageFilter.cpp index a83fe58250..f17318cecf 100644 --- a/src/effects/SkLightingImageFilter.cpp +++ b/src/effects/SkLightingImageFilter.cpp @@ -1286,7 +1286,8 @@ void GrGLSpecularLightingEffect::emitLightFunc(GrGLShaderBuilder* builder, SkStr SkString lightBody; lightBody.appendf("\tvec3 halfDir = vec3(normalize(surfaceToLight + vec3(0, 0, 1)));\n"); lightBody.appendf("\tfloat colorScale = %s * pow(dot(normal, halfDir), %s);\n", ks, shininess); - lightBody.appendf("\treturn vec4(lightColor * clamp(colorScale, 0.0, 1.0), 1.0);\n"); + lightBody.appendf("\tvec3 color = lightColor * clamp(colorScale, 0.0, 1.0);\n"); + lightBody.appendf("\treturn vec4(color, max(max(color.r, color.g), color.b));\n"); builder->emitFunction(GrGLShaderBuilder::kFragment_ShaderType, kVec4f_GrSLType, "light", |