Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Side by Side Diff: src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp

Issue 1417123002: Move GrGLShaderVar to GrGLSL (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix gyp Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/effects/SkPerlinNoiseShader.cpp ('k') | src/gpu/effects/GrBezierEffect.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2014 Google Inc. 3 * Copyright 2014 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #include "SkTwoPointConicalGradient_gpu.h" 9 #include "SkTwoPointConicalGradient_gpu.h"
10 10
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 void GLFocalInside2PtConicalEffect::emitCode(EmitArgs& args) { 701 void GLFocalInside2PtConicalEffect::emitCode(EmitArgs& args) {
702 const FocalInside2PtConicalEffect& ge = args.fFp.cast<FocalInside2PtConicalE ffect>(); 702 const FocalInside2PtConicalEffect& ge = args.fFp.cast<FocalInside2PtConicalE ffect>();
703 this->emitUniforms(args.fBuilder, ge); 703 this->emitUniforms(args.fBuilder, ge);
704 fFocalUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibili ty, 704 fFocalUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibili ty,
705 kFloat_GrSLType, kDefault_GrSLPrecision, 705 kFloat_GrSLType, kDefault_GrSLPrecision,
706 "Conical2FSParams"); 706 "Conical2FSParams");
707 SkString tName("t"); 707 SkString tName("t");
708 708
709 // this is the distance along x-axis from the end center to focal point in 709 // this is the distance along x-axis from the end center to focal point in
710 // transformed coordinates 710 // transformed coordinates
711 GrGLShaderVar focal = args.fBuilder->getUniformVariable(fFocalUni); 711 GrGLSLShaderVar focal = args.fBuilder->getUniformVariable(fFocalUni);
712 712
713 // if we have a vec3 from being in perspective, convert it to a vec2 first 713 // if we have a vec3 from being in perspective, convert it to a vec2 first
714 GrGLFragmentBuilder* fsBuilder = args.fBuilder->getFragmentShaderBuilder(); 714 GrGLFragmentBuilder* fsBuilder = args.fBuilder->getFragmentShaderBuilder();
715 SkString coords2DString = fsBuilder->ensureFSCoords2D(args.fCoords, 0); 715 SkString coords2DString = fsBuilder->ensureFSCoords2D(args.fCoords, 0);
716 const char* coords2D = coords2DString.c_str(); 716 const char* coords2D = coords2DString.c_str();
717 717
718 // t = p.x * focalX + length(p) 718 // t = p.x * focalX + length(p)
719 fsBuilder->codeAppendf("\tfloat %s = %s.x * %s + length(%s);\n", tName.c_st r(), 719 fsBuilder->codeAppendf("\tfloat %s = %s.x * %s + length(%s);\n", tName.c_st r(),
720 coords2D, focal.c_str(), coords2D); 720 coords2D, focal.c_str(), coords2D);
721 721
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 const CircleInside2PtConicalEffect& ge = args.fFp.cast<CircleInside2PtConica lEffect>(); 947 const CircleInside2PtConicalEffect& ge = args.fFp.cast<CircleInside2PtConica lEffect>();
948 this->emitUniforms(args.fBuilder, ge); 948 this->emitUniforms(args.fBuilder, ge);
949 fCenterUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibil ity, 949 fCenterUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibil ity,
950 kVec2f_GrSLType, kDefault_GrSLPrecision, 950 kVec2f_GrSLType, kDefault_GrSLPrecision,
951 "Conical2FSCenter"); 951 "Conical2FSCenter");
952 fParamUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibili ty, 952 fParamUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibili ty,
953 kVec3f_GrSLType, kDefault_GrSLPrecision, 953 kVec3f_GrSLType, kDefault_GrSLPrecision,
954 "Conical2FSParams"); 954 "Conical2FSParams");
955 SkString tName("t"); 955 SkString tName("t");
956 956
957 GrGLShaderVar center = args.fBuilder->getUniformVariable(fCenterUni); 957 GrGLSLShaderVar center = args.fBuilder->getUniformVariable(fCenterUni);
958 // params.x = A 958 // params.x = A
959 // params.y = B 959 // params.y = B
960 // params.z = C 960 // params.z = C
961 GrGLShaderVar params = args.fBuilder->getUniformVariable(fParamUni); 961 GrGLSLShaderVar params = args.fBuilder->getUniformVariable(fParamUni);
962 962
963 // if we have a vec3 from being in perspective, convert it to a vec2 first 963 // if we have a vec3 from being in perspective, convert it to a vec2 first
964 GrGLFragmentBuilder* fsBuilder = args.fBuilder->getFragmentShaderBuilder(); 964 GrGLFragmentBuilder* fsBuilder = args.fBuilder->getFragmentShaderBuilder();
965 SkString coords2DString = fsBuilder->ensureFSCoords2D(args.fCoords, 0); 965 SkString coords2DString = fsBuilder->ensureFSCoords2D(args.fCoords, 0);
966 const char* coords2D = coords2DString.c_str(); 966 const char* coords2D = coords2DString.c_str();
967 967
968 // p = coords2D 968 // p = coords2D
969 // e = center end 969 // e = center end
970 // r = radius end 970 // r = radius end
971 // A = dot(e, e) - r^2 + 2 * r - 1 971 // A = dot(e, e) - r^2 + 2 * r - 1
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
1177 const CircleOutside2PtConicalEffect& ge = args.fFp.cast<CircleOutside2PtConi calEffect>(); 1177 const CircleOutside2PtConicalEffect& ge = args.fFp.cast<CircleOutside2PtConi calEffect>();
1178 this->emitUniforms(args.fBuilder, ge); 1178 this->emitUniforms(args.fBuilder, ge);
1179 fCenterUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibil ity, 1179 fCenterUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibil ity,
1180 kVec2f_GrSLType, kDefault_GrSLPrecision, 1180 kVec2f_GrSLType, kDefault_GrSLPrecision,
1181 "Conical2FSCenter"); 1181 "Conical2FSCenter");
1182 fParamUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibili ty, 1182 fParamUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibili ty,
1183 kVec4f_GrSLType, kDefault_GrSLPrecision, 1183 kVec4f_GrSLType, kDefault_GrSLPrecision,
1184 "Conical2FSParams"); 1184 "Conical2FSParams");
1185 SkString tName("t"); 1185 SkString tName("t");
1186 1186
1187 GrGLShaderVar center = args.fBuilder->getUniformVariable(fCenterUni); 1187 GrGLSLShaderVar center = args.fBuilder->getUniformVariable(fCenterUni);
1188 // params.x = A 1188 // params.x = A
1189 // params.y = B 1189 // params.y = B
1190 // params.z = C 1190 // params.z = C
1191 GrGLShaderVar params = args.fBuilder->getUniformVariable(fParamUni); 1191 GrGLSLShaderVar params = args.fBuilder->getUniformVariable(fParamUni);
1192 1192
1193 // if we have a vec3 from being in perspective, convert it to a vec2 first 1193 // if we have a vec3 from being in perspective, convert it to a vec2 first
1194 GrGLFragmentBuilder* fsBuilder = args.fBuilder->getFragmentShaderBuilder(); 1194 GrGLFragmentBuilder* fsBuilder = args.fBuilder->getFragmentShaderBuilder();
1195 SkString coords2DString = fsBuilder->ensureFSCoords2D(args.fCoords, 0); 1195 SkString coords2DString = fsBuilder->ensureFSCoords2D(args.fCoords, 0);
1196 const char* coords2D = coords2DString.c_str(); 1196 const char* coords2D = coords2DString.c_str();
1197 1197
1198 // output will default to transparent black (we simply won't write anything 1198 // output will default to transparent black (we simply won't write anything
1199 // else to it if invalid, instead of discarding or returning prematurely) 1199 // else to it if invalid, instead of discarding or returning prematurely)
1200 fsBuilder->codeAppendf("\t%s = vec4(0.0,0.0,0.0,0.0);\n", args.fOutputColor) ; 1200 fsBuilder->codeAppendf("\t%s = vec4(0.0,0.0,0.0,0.0);\n", args.fOutputColor) ;
1201 1201
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1302 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf o); 1302 return CircleInside2PtConicalEffect::Create(ctx, shader, matrix, tm, inf o);
1303 } else if (type == kEdge_ConicalType) { 1303 } else if (type == kEdge_ConicalType) {
1304 set_matrix_edge_conical(shader, &matrix); 1304 set_matrix_edge_conical(shader, &matrix);
1305 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm); 1305 return Edge2PtConicalEffect::Create(ctx, shader, matrix, tm);
1306 } else { 1306 } else {
1307 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in fo); 1307 return CircleOutside2PtConicalEffect::Create(ctx, shader, matrix, tm, in fo);
1308 } 1308 }
1309 } 1309 }
1310 1310
1311 #endif 1311 #endif
OLDNEW
« no previous file with comments | « src/effects/SkPerlinNoiseShader.cpp ('k') | src/gpu/effects/GrBezierEffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698