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

Side by Side Diff: src/core/SkLightingShader.cpp

Issue 1316233002: Style Change: NULL->nullptr (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 2015-08-27 (Thursday) 10:25:06 EDT Created 5 years, 3 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/core/SkLightingShader.h ('k') | src/core/SkLocalMatrixShader.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 2015 Google Inc. 3 * Copyright 2015 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 "SkBitmapProcState.h" 9 #include "SkBitmapProcState.h"
10 #include "SkColor.h" 10 #include "SkColor.h"
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 fLightColor.fX = 0.0f; 169 fLightColor.fX = 0.0f;
170 fAmbientColor.fX = 0.0f; 170 fAmbientColor.fX = 0.0f;
171 fInvNormRotation.set(0.0f, 0.0f); 171 fInvNormRotation.set(0.0f, 0.0f);
172 } 172 }
173 173
174 void emitCode(EmitArgs& args) override { 174 void emitCode(EmitArgs& args) override {
175 175
176 GrGLFragmentBuilder* fpb = args.fBuilder->getFragmentShaderBuilder() ; 176 GrGLFragmentBuilder* fpb = args.fBuilder->getFragmentShaderBuilder() ;
177 177
178 // add uniforms 178 // add uniforms
179 const char* lightDirUniName = NULL; 179 const char* lightDirUniName = nullptr;
180 fLightDirUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragme nt_Visibility, 180 fLightDirUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragme nt_Visibility,
181 kVec3f_GrSLType, kDefault_G rSLPrecision, 181 kVec3f_GrSLType, kDefault_G rSLPrecision,
182 "LightDir", &lightDirUniNam e); 182 "LightDir", &lightDirUniNam e);
183 183
184 const char* lightColorUniName = NULL; 184 const char* lightColorUniName = nullptr;
185 fLightColorUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFrag ment_Visibility, 185 fLightColorUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFrag ment_Visibility,
186 kVec3f_GrSLType, kDefault _GrSLPrecision, 186 kVec3f_GrSLType, kDefault _GrSLPrecision,
187 "LightColor", &lightColor UniName); 187 "LightColor", &lightColor UniName);
188 188
189 const char* ambientColorUniName = NULL; 189 const char* ambientColorUniName = nullptr;
190 fAmbientColorUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFr agment_Visibility, 190 fAmbientColorUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFr agment_Visibility,
191 kVec3f_GrSLType, kDefau lt_GrSLPrecision, 191 kVec3f_GrSLType, kDefau lt_GrSLPrecision,
192 "AmbientColor", &ambien tColorUniName); 192 "AmbientColor", &ambien tColorUniName);
193 193
194 const char* xformUniName = NULL; 194 const char* xformUniName = nullptr;
195 fXformUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_ Visibility, 195 fXformUni = args.fBuilder->addUniform(GrGLProgramBuilder::kFragment_ Visibility,
196 kVec2f_GrSLType, kDefault_GrSL Precision, 196 kVec2f_GrSLType, kDefault_GrSL Precision,
197 "Xform", &xformUniName); 197 "Xform", &xformUniName);
198 198
199 fpb->codeAppend("vec4 diffuseColor = "); 199 fpb->codeAppend("vec4 diffuseColor = ");
200 fpb->appendTextureLookupAndModulate(args.fInputColor, args.fSamplers [0], 200 fpb->appendTextureLookupAndModulate(args.fInputColor, args.fSamplers [0],
201 args.fCoords[0].c_str(), 201 args.fCoords[0].c_str(),
202 args.fCoords[0].getType()); 202 args.fCoords[0].getType());
203 fpb->codeAppend(";"); 203 fpb->codeAppend(";");
204 204
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 SkMatrix normLocalM; 571 SkMatrix normLocalM;
572 bool hasNormLocalM = buf.readBool(); 572 bool hasNormLocalM = buf.readBool();
573 if (hasNormLocalM) { 573 if (hasNormLocalM) {
574 buf.readMatrix(&normLocalM); 574 buf.readMatrix(&normLocalM);
575 } else { 575 } else {
576 normLocalM.reset(); 576 normLocalM.reset();
577 } 577 }
578 578
579 SkBitmap diffuse; 579 SkBitmap diffuse;
580 if (!buf.readBitmap(&diffuse)) { 580 if (!buf.readBitmap(&diffuse)) {
581 return NULL; 581 return nullptr;
582 } 582 }
583 diffuse.setImmutable(); 583 diffuse.setImmutable();
584 584
585 SkBitmap normal; 585 SkBitmap normal;
586 if (!buf.readBitmap(&normal)) { 586 if (!buf.readBitmap(&normal)) {
587 return NULL; 587 return nullptr;
588 } 588 }
589 normal.setImmutable(); 589 normal.setImmutable();
590 590
591 int numLights = buf.readInt(); 591 int numLights = buf.readInt();
592 592
593 SkLightingShader::Lights::Builder builder; 593 SkLightingShader::Lights::Builder builder;
594 594
595 for (int l = 0; l < numLights; ++l) { 595 for (int l = 0; l < numLights; ++l) {
596 bool isAmbient = buf.readBool(); 596 bool isAmbient = buf.readBool();
597 597
598 SkColor3f color; 598 SkColor3f color;
599 if (!buf.readScalarArray(&color.fX, 3)) { 599 if (!buf.readScalarArray(&color.fX, 3)) {
600 return NULL; 600 return nullptr;
601 } 601 }
602 602
603 if (isAmbient) { 603 if (isAmbient) {
604 builder.add(SkLight(color)); 604 builder.add(SkLight(color));
605 } else { 605 } else {
606 SkVector3 dir; 606 SkVector3 dir;
607 if (!buf.readScalarArray(&dir.fX, 3)) { 607 if (!buf.readScalarArray(&dir.fX, 3)) {
608 return NULL; 608 return nullptr;
609 } 609 }
610 builder.add(SkLight(color, dir)); 610 builder.add(SkLight(color, dir));
611 } 611 }
612 } 612 }
613 613
614 SkAutoTUnref<const SkLightingShader::Lights> lights(builder.finish()); 614 SkAutoTUnref<const SkLightingShader::Lights> lights(builder.finish());
615 615
616 return new SkLightingShaderImpl(diffuse, normal, lights, SkVector::Make(1.0f , 0.0f), 616 return new SkLightingShaderImpl(diffuse, normal, lights, SkVector::Make(1.0f , 0.0f),
617 &diffLocalM, &normLocalM); 617 &diffLocalM, &normLocalM);
618 } 618 }
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 658
659 SkShader::Context* SkLightingShaderImpl::onCreateContext(const ContextRec& rec, 659 SkShader::Context* SkLightingShaderImpl::onCreateContext(const ContextRec& rec,
660 void* storage) const { 660 void* storage) const {
661 661
662 SkMatrix diffTotalInv; 662 SkMatrix diffTotalInv;
663 // computeTotalInverse was called in SkShader::createContext so we know it w ill succeed 663 // computeTotalInverse was called in SkShader::createContext so we know it w ill succeed
664 SkAssertResult(this->computeTotalInverse(rec, &diffTotalInv)); 664 SkAssertResult(this->computeTotalInverse(rec, &diffTotalInv));
665 665
666 SkMatrix normTotalInv; 666 SkMatrix normTotalInv;
667 if (!this->computeNormTotalInverse(rec, &normTotalInv)) { 667 if (!this->computeNormTotalInverse(rec, &normTotalInv)) {
668 return NULL; 668 return nullptr;
669 } 669 }
670 670
671 void* diffuseStateStorage = (char*)storage + sizeof(LightingShaderContext); 671 void* diffuseStateStorage = (char*)storage + sizeof(LightingShaderContext);
672 SkBitmapProcState* diffuseState = new (diffuseStateStorage) SkBitmapProcStat e; 672 SkBitmapProcState* diffuseState = new (diffuseStateStorage) SkBitmapProcStat e;
673 SkASSERT(diffuseState); 673 SkASSERT(diffuseState);
674 674
675 diffuseState->fTileModeX = SkShader::kClamp_TileMode; 675 diffuseState->fTileModeX = SkShader::kClamp_TileMode;
676 diffuseState->fTileModeY = SkShader::kClamp_TileMode; 676 diffuseState->fTileModeY = SkShader::kClamp_TileMode;
677 diffuseState->fOrigBitmap = fDiffuseMap; 677 diffuseState->fOrigBitmap = fDiffuseMap;
678 if (!diffuseState->chooseProcs(diffTotalInv, *rec.fPaint)) { 678 if (!diffuseState->chooseProcs(diffTotalInv, *rec.fPaint)) {
679 diffuseState->~SkBitmapProcState(); 679 diffuseState->~SkBitmapProcState();
680 return NULL; 680 return nullptr;
681 } 681 }
682 682
683 void* normalStateStorage = (char*)storage + sizeof(LightingShaderContext) + sizeof(SkBitmapProcState); 683 void* normalStateStorage = (char*)storage + sizeof(LightingShaderContext) + sizeof(SkBitmapProcState);
684 SkBitmapProcState* normalState = new (normalStateStorage) SkBitmapProcState; 684 SkBitmapProcState* normalState = new (normalStateStorage) SkBitmapProcState;
685 SkASSERT(normalState); 685 SkASSERT(normalState);
686 686
687 normalState->fTileModeX = SkShader::kClamp_TileMode; 687 normalState->fTileModeX = SkShader::kClamp_TileMode;
688 normalState->fTileModeY = SkShader::kClamp_TileMode; 688 normalState->fTileModeY = SkShader::kClamp_TileMode;
689 normalState->fOrigBitmap = fNormalMap; 689 normalState->fOrigBitmap = fNormalMap;
690 if (!normalState->chooseProcs(normTotalInv, *rec.fPaint)) { 690 if (!normalState->chooseProcs(normTotalInv, *rec.fPaint)) {
691 diffuseState->~SkBitmapProcState(); 691 diffuseState->~SkBitmapProcState();
692 normalState->~SkBitmapProcState(); 692 normalState->~SkBitmapProcState();
693 return NULL; 693 return nullptr;
694 } 694 }
695 695
696 return new (storage) LightingShaderContext(*this, rec, diffuseState, normalS tate); 696 return new (storage) LightingShaderContext(*this, rec, diffuseState, normalS tate);
697 } 697 }
698 698
699 /////////////////////////////////////////////////////////////////////////////// 699 ///////////////////////////////////////////////////////////////////////////////
700 700
701 static bool bitmap_is_too_big(const SkBitmap& bm) { 701 static bool bitmap_is_too_big(const SkBitmap& bm) {
702 // SkBitmapProcShader stores bitmap coordinates in a 16bit buffer, as it 702 // SkBitmapProcShader stores bitmap coordinates in a 16bit buffer, as it
703 // communicates between its matrix-proc and its sampler-proc. Until we can 703 // communicates between its matrix-proc and its sampler-proc. Until we can
(...skipping 21 matching lines...) Expand all
725 normLocalM); 725 normLocalM);
726 } 726 }
727 727
728 /////////////////////////////////////////////////////////////////////////////// 728 ///////////////////////////////////////////////////////////////////////////////
729 729
730 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkLightingShader) 730 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkLightingShader)
731 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingShaderImpl) 731 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingShaderImpl)
732 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END 732 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
733 733
734 /////////////////////////////////////////////////////////////////////////////// 734 ///////////////////////////////////////////////////////////////////////////////
OLDNEW
« no previous file with comments | « src/core/SkLightingShader.h ('k') | src/core/SkLocalMatrixShader.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698