Index: gm/lightingshader.cpp |
diff --git a/gm/lightingshader.cpp b/gm/lightingshader.cpp |
index e0a4ccfe7461f5b668f20e79d39572c58431f7de..48b677c9ffb1cf041c4a519220b6d8b3b0a8a81e 100644 |
--- a/gm/lightingshader.cpp |
+++ b/gm/lightingshader.cpp |
@@ -7,6 +7,7 @@ |
#include "gm.h" |
+#include "SkBitmapProcShader.h" |
#include "SkLightingShader.h" |
#include "SkNormalSource.h" |
#include "SkPoint3.h" |
@@ -100,10 +101,12 @@ protected: |
SkVector invNormRotation = { ctm[SkMatrix::kMScaleX], ctm[SkMatrix::kMSkewY] }; |
SkPaint paint; |
+ sk_sp<SkShader> diffuseShader = SkBitmapProcShader::MakeBitmapShader(fDiffuse, |
+ SkShader::kClamp_TileMode, SkShader::kClamp_TileMode, &matrix); |
sk_sp<SkNormalSource> normalSource = SkNormalSource::MakeMap(fNormalMaps[mapType], |
invNormRotation, &matrix); |
- paint.setShader(SkLightingShader::Make(fDiffuse, fLights, &matrix, |
- std::move(normalSource))); |
+ paint.setShader(SkLightingShader::Make(std::move(diffuseShader), std::move(normalSource), |
+ fLights)); |
canvas->drawRect(r, paint); |
} |