OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkAlphaThresholdFilter.h" | 8 #include "SkAlphaThresholdFilter.h" |
9 | 9 |
10 #include "SkBitmap.h" | 10 #include "SkBitmap.h" |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 kFloat_GrSLType, kDefault_Gr
SLPrecision, | 174 kFloat_GrSLType, kDefault_Gr
SLPrecision, |
175 "outer_threshold"); | 175 "outer_threshold"); |
176 | 176 |
177 GrGLSLFPFragmentBuilder* fragBuilder = args.fFragBuilder; | 177 GrGLSLFPFragmentBuilder* fragBuilder = args.fFragBuilder; |
178 SkString coords2D = fragBuilder->ensureFSCoords2D(args.fCoords, 0); | 178 SkString coords2D = fragBuilder->ensureFSCoords2D(args.fCoords, 0); |
179 SkString maskCoords2D = fragBuilder->ensureFSCoords2D(args.fCoords, 1); | 179 SkString maskCoords2D = fragBuilder->ensureFSCoords2D(args.fCoords, 1); |
180 | 180 |
181 fragBuilder->codeAppendf("\t\tvec2 coord = %s;\n", coords2D.c_str()); | 181 fragBuilder->codeAppendf("\t\tvec2 coord = %s;\n", coords2D.c_str()); |
182 fragBuilder->codeAppendf("\t\tvec2 mask_coord = %s;\n", maskCoords2D.c_str()
); | 182 fragBuilder->codeAppendf("\t\tvec2 mask_coord = %s;\n", maskCoords2D.c_str()
); |
183 fragBuilder->codeAppend("\t\tvec4 input_color = "); | 183 fragBuilder->codeAppend("\t\tvec4 input_color = "); |
184 fragBuilder->appendTextureLookup(args.fTexSamplers[0], "coord"); | 184 fragBuilder->appendTextureLookup(uniformHandler->getSampler(args.fTexSampler
s[0]), "coord"); |
185 fragBuilder->codeAppend(";\n"); | 185 fragBuilder->codeAppend(";\n"); |
186 fragBuilder->codeAppend("\t\tvec4 mask_color = "); | 186 fragBuilder->codeAppend("\t\tvec4 mask_color = "); |
187 fragBuilder->appendTextureLookup(args.fTexSamplers[1], "mask_coord"); | 187 fragBuilder->appendTextureLookup(uniformHandler->getSampler(args.fTexSampler
s[1]), |
| 188 "mask_coord"); |
188 fragBuilder->codeAppend(";\n"); | 189 fragBuilder->codeAppend(";\n"); |
189 | 190 |
190 fragBuilder->codeAppendf("\t\tfloat inner_thresh = %s;\n", | 191 fragBuilder->codeAppendf("\t\tfloat inner_thresh = %s;\n", |
191 uniformHandler->getUniformCStr(fInnerThresholdVar))
; | 192 uniformHandler->getUniformCStr(fInnerThresholdVar))
; |
192 fragBuilder->codeAppendf("\t\tfloat outer_thresh = %s;\n", | 193 fragBuilder->codeAppendf("\t\tfloat outer_thresh = %s;\n", |
193 uniformHandler->getUniformCStr(fOuterThresholdVar))
; | 194 uniformHandler->getUniformCStr(fOuterThresholdVar))
; |
194 fragBuilder->codeAppend("\t\tfloat mask = mask_color.a;\n"); | 195 fragBuilder->codeAppend("\t\tfloat mask = mask_color.a;\n"); |
195 | 196 |
196 fragBuilder->codeAppend("vec4 color = input_color;\n"); | 197 fragBuilder->codeAppend("vec4 color = input_color;\n"); |
197 fragBuilder->codeAppend("\t\tif (mask < 0.5) {\n" | 198 fragBuilder->codeAppend("\t\tif (mask < 0.5) {\n" |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 return true; | 406 return true; |
406 } | 407 } |
407 | 408 |
408 #ifndef SK_IGNORE_TO_STRING | 409 #ifndef SK_IGNORE_TO_STRING |
409 void SkAlphaThresholdFilterImpl::toString(SkString* str) const { | 410 void SkAlphaThresholdFilterImpl::toString(SkString* str) const { |
410 str->appendf("SkAlphaThresholdImageFilter: ("); | 411 str->appendf("SkAlphaThresholdImageFilter: ("); |
411 str->appendf("inner: %f outer: %f", fInnerThreshold, fOuterThreshold); | 412 str->appendf("inner: %f outer: %f", fInnerThreshold, fOuterThreshold); |
412 str->append(")"); | 413 str->append(")"); |
413 } | 414 } |
414 #endif | 415 #endif |
OLD | NEW |