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 "SkDither.h" | 8 #include "SkDither.h" |
9 #include "SkPerlinNoiseShader2.h" | 9 #include "SkPerlinNoiseShader2.h" |
10 #include "SkColorFilter.h" | 10 #include "SkColorFilter.h" |
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
729 kNone_SkFilterQuality); | 729 kNone_SkFilterQuality); |
730 } | 730 } |
731 | 731 |
732 void GrGLPerlinNoise2::emitCode(EmitArgs& args) { | 732 void GrGLPerlinNoise2::emitCode(EmitArgs& args) { |
733 const GrPerlinNoise2Effect& pne = args.fFp.cast<GrPerlinNoise2Effect>(); | 733 const GrPerlinNoise2Effect& pne = args.fFp.cast<GrPerlinNoise2Effect>(); |
734 | 734 |
735 GrGLSLFragmentBuilder* fsBuilder = args.fFragBuilder; | 735 GrGLSLFragmentBuilder* fsBuilder = args.fFragBuilder; |
736 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler; | 736 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler; |
737 SkString vCoords = fsBuilder->ensureFSCoords2D(args.fCoords, 0); | 737 SkString vCoords = fsBuilder->ensureFSCoords2D(args.fCoords, 0); |
738 | 738 |
739 fBaseFrequencyUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragme
nt_Visibility, | 739 fBaseFrequencyUni = uniformHandler->addUniform(kFragment_GrShaderFlag, |
740 kVec2f_GrSLType, kDefault_GrS
LPrecision, | 740 kVec2f_GrSLType, kDefault_GrS
LPrecision, |
741 "baseFrequency"); | 741 "baseFrequency"); |
742 const char* baseFrequencyUni = uniformHandler->getUniformCStr(fBaseFrequency
Uni); | 742 const char* baseFrequencyUni = uniformHandler->getUniformCStr(fBaseFrequency
Uni); |
743 | 743 |
744 const char* stitchDataUni = nullptr; | 744 const char* stitchDataUni = nullptr; |
745 if (pne.stitchTiles()) { | 745 if (pne.stitchTiles()) { |
746 fStitchDataUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragm
ent_Visibility, | 746 fStitchDataUni = uniformHandler->addUniform(kFragment_GrShaderFlag, |
747 kVec2f_GrSLType, kDefault_Gr
SLPrecision, | 747 kVec2f_GrSLType, kDefault_Gr
SLPrecision, |
748 "stitchData"); | 748 "stitchData"); |
749 stitchDataUni = uniformHandler->getUniformCStr(fStitchDataUni); | 749 stitchDataUni = uniformHandler->getUniformCStr(fStitchDataUni); |
750 } | 750 } |
751 | 751 |
752 // There are 4 lines, so the center of each line is 1/8, 3/8, 5/8 and 7/8 | 752 // There are 4 lines, so the center of each line is 1/8, 3/8, 5/8 and 7/8 |
753 const char* chanCoordR = "0.125"; | 753 const char* chanCoordR = "0.125"; |
754 const char* chanCoordG = "0.375"; | 754 const char* chanCoordG = "0.375"; |
755 const char* chanCoordB = "0.625"; | 755 const char* chanCoordB = "0.625"; |
756 const char* chanCoordA = "0.875"; | 756 const char* chanCoordA = "0.875"; |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1132 return shader->asFragmentProcessor(d->fContext, | 1132 return shader->asFragmentProcessor(d->fContext, |
1133 GrTest::TestMatrix(d->fRandom), nullptr, | 1133 GrTest::TestMatrix(d->fRandom), nullptr, |
1134 kNone_SkFilterQuality); | 1134 kNone_SkFilterQuality); |
1135 } | 1135 } |
1136 | 1136 |
1137 void GrGLImprovedPerlinNoise::emitCode(EmitArgs& args) { | 1137 void GrGLImprovedPerlinNoise::emitCode(EmitArgs& args) { |
1138 GrGLSLFragmentBuilder* fsBuilder = args.fFragBuilder; | 1138 GrGLSLFragmentBuilder* fsBuilder = args.fFragBuilder; |
1139 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler; | 1139 GrGLSLUniformHandler* uniformHandler = args.fUniformHandler; |
1140 SkString vCoords = fsBuilder->ensureFSCoords2D(args.fCoords, 0); | 1140 SkString vCoords = fsBuilder->ensureFSCoords2D(args.fCoords, 0); |
1141 | 1141 |
1142 fBaseFrequencyUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragme
nt_Visibility, | 1142 fBaseFrequencyUni = uniformHandler->addUniform(kFragment_GrShaderFlag, |
1143 kVec2f_GrSLType, kDefault_GrS
LPrecision, | 1143 kVec2f_GrSLType, kDefault_GrS
LPrecision, |
1144 "baseFrequency"); | 1144 "baseFrequency"); |
1145 const char* baseFrequencyUni = uniformHandler->getUniformCStr(fBaseFrequency
Uni); | 1145 const char* baseFrequencyUni = uniformHandler->getUniformCStr(fBaseFrequency
Uni); |
1146 | 1146 |
1147 fOctavesUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Vis
ibility, | 1147 fOctavesUni = uniformHandler->addUniform(kFragment_GrShaderFlag, |
1148 kFloat_GrSLType, kDefault_GrSLPreci
sion, | 1148 kFloat_GrSLType, kDefault_GrSLPreci
sion, |
1149 "octaves"); | 1149 "octaves"); |
1150 const char* octavesUni = uniformHandler->getUniformCStr(fOctavesUni); | 1150 const char* octavesUni = uniformHandler->getUniformCStr(fOctavesUni); |
1151 | 1151 |
1152 fZUni = uniformHandler->addUniform(GrGLSLUniformHandler::kFragment_Visibilit
y, | 1152 fZUni = uniformHandler->addUniform(kFragment_GrShaderFlag, |
1153 kFloat_GrSLType, kDefault_GrSLPrecision, | 1153 kFloat_GrSLType, kDefault_GrSLPrecision, |
1154 "z"); | 1154 "z"); |
1155 const char* zUni = uniformHandler->getUniformCStr(fZUni); | 1155 const char* zUni = uniformHandler->getUniformCStr(fZUni); |
1156 | 1156 |
1157 // fade function | 1157 // fade function |
1158 static const GrGLSLShaderVar fadeArgs[] = { | 1158 static const GrGLSLShaderVar fadeArgs[] = { |
1159 GrGLSLShaderVar("t", kVec3f_GrSLType) | 1159 GrGLSLShaderVar("t", kVec3f_GrSLType) |
1160 }; | 1160 }; |
1161 SkString fadeFuncName; | 1161 SkString fadeFuncName; |
1162 fsBuilder->emitFunction(kVec3f_GrSLType, "fade", SK_ARRAY_COUNT(fadeArgs), | 1162 fsBuilder->emitFunction(kVec3f_GrSLType, "fade", SK_ARRAY_COUNT(fadeArgs), |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1393 str->append(" seed: "); | 1393 str->append(" seed: "); |
1394 str->appendScalar(fSeed); | 1394 str->appendScalar(fSeed); |
1395 str->append(" stitch tiles: "); | 1395 str->append(" stitch tiles: "); |
1396 str->append(fStitchTiles ? "true " : "false "); | 1396 str->append(fStitchTiles ? "true " : "false "); |
1397 | 1397 |
1398 this->INHERITED::toString(str); | 1398 this->INHERITED::toString(str); |
1399 | 1399 |
1400 str->append(")"); | 1400 str->append(")"); |
1401 } | 1401 } |
1402 #endif | 1402 #endif |
OLD | NEW |