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

Side by Side Diff: gm/lighting.cpp

Issue 1417463006: Revert of Update feSpotLight to match spec (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: 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 | « no previous file | src/effects/SkLightingImageFilter.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 * Copyright 2012 Google Inc. 2 * Copyright 2012 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 "gm.h" 8 #include "gm.h"
9 #include "SkLightingImageFilter.h" 9 #include "SkLightingImageFilter.h"
10 #include "SkOffsetImageFilter.h" 10 #include "SkOffsetImageFilter.h"
11 #include "SkPoint3.h" 11 #include "SkPoint3.h"
12 12
13 #define WIDTH 550 13 #define WIDTH 330
14 #define HEIGHT 660 14 #define HEIGHT 660
15 15
16 namespace skiagm { 16 namespace skiagm {
17 17
18 class ImageLightingGM : public GM { 18 class ImageLightingGM : public GM {
19 public: 19 public:
20 ImageLightingGM() { 20 ImageLightingGM() {
21 this->setBGColor(0xFF000000); 21 this->setBGColor(0xFF000000);
22 } 22 }
23 23
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 SkScalar elevationRad = SkDegreesToRadians(SkIntToScalar(5)); 62 SkScalar elevationRad = SkDegreesToRadians(SkIntToScalar(5));
63 SkPoint3 distantDirection = SkPoint3::Make(SkScalarMul(SkScalarCos(azimu thRad), 63 SkPoint3 distantDirection = SkPoint3::Make(SkScalarMul(SkScalarCos(azimu thRad),
64 SkScalarCos(eleva tionRad)), 64 SkScalarCos(eleva tionRad)),
65 SkScalarMul(SkScalarSin(azimu thRad), 65 SkScalarMul(SkScalarSin(azimu thRad),
66 SkScalarCos(eleva tionRad)), 66 SkScalarCos(eleva tionRad)),
67 SkScalarSin(elevationRad)); 67 SkScalarSin(elevationRad));
68 SkPoint3 spotLocation = SkPoint3::Make(SkIntToScalar(-10), 68 SkPoint3 spotLocation = SkPoint3::Make(SkIntToScalar(-10),
69 SkIntToScalar(-10), 69 SkIntToScalar(-10),
70 SkIntToScalar(20)); 70 SkIntToScalar(20));
71 SkPoint3 spotTarget = SkPoint3::Make(SkIntToScalar(40), SkIntToScalar(40 ), 0); 71 SkPoint3 spotTarget = SkPoint3::Make(SkIntToScalar(40), SkIntToScalar(40 ), 0);
72 SkScalar spotExponent1 = SK_Scalar1; 72 SkScalar spotExponent = SK_Scalar1;
73 SkScalar spotExponent0 = SkIntToScalar(0); 73 SkScalar cutoffAngle = SkIntToScalar(15);
74 SkScalar cutoffAngleSmall = SkIntToScalar(15);
75 SkScalar cutoffAngleNone = SkIntToScalar(180);
76 SkScalar kd = SkIntToScalar(2); 74 SkScalar kd = SkIntToScalar(2);
77 SkScalar ks = SkIntToScalar(1); 75 SkScalar ks = SkIntToScalar(1);
78 SkScalar shininess = SkIntToScalar(8); 76 SkScalar shininess = SkIntToScalar(8);
79 SkScalar surfaceScale = SkIntToScalar(1); 77 SkScalar surfaceScale = SkIntToScalar(1);
80 SkColor white(0xFFFFFFFF); 78 SkColor white(0xFFFFFFFF);
81 SkPaint paint; 79 SkPaint paint;
82 80
83 SkImageFilter::CropRect cropRect(SkRect::MakeXYWH(20, 10, 60, 65)); 81 SkImageFilter::CropRect cropRect(SkRect::MakeXYWH(20, 10, 60, 65));
84 SkImageFilter::CropRect fullSizeCropRect(SkRect::MakeXYWH(0, 0, 100, 100 )); 82 SkImageFilter::CropRect fullSizeCropRect(SkRect::MakeXYWH(0, 0, 100, 100 ));
85 SkAutoTUnref<SkImageFilter> noopCropped(SkOffsetImageFilter::Create(0, 0 , nullptr, &cropRect)); 83 SkAutoTUnref<SkImageFilter> noopCropped(SkOffsetImageFilter::Create(0, 0 , nullptr, &cropRect));
(...skipping 13 matching lines...) Expand all
99 paint.setImageFilter(SkLightingImageFilter::CreateDistantLitDiffuse( distantDirection, 97 paint.setImageFilter(SkLightingImageFilter::CreateDistantLitDiffuse( distantDirection,
100 white, 98 white,
101 surfaceScale, 99 surfaceScale,
102 kd, 100 kd,
103 input, 101 input,
104 cr))->unref(); 102 cr))->unref();
105 drawClippedBitmap(canvas, paint, 110, y); 103 drawClippedBitmap(canvas, paint, 110, y);
106 104
107 paint.setImageFilter(SkLightingImageFilter::CreateSpotLitDiffuse(spo tLocation, 105 paint.setImageFilter(SkLightingImageFilter::CreateSpotLitDiffuse(spo tLocation,
108 spo tTarget, 106 spo tTarget,
109 spo tExponent1, 107 spo tExponent,
110 cut offAngleSmall, 108 cut offAngle,
111 whi te, 109 whi te,
112 sur faceScale, 110 sur faceScale,
113 kd, 111 kd,
114 inp ut, 112 inp ut,
115 cr) )->unref(); 113 cr) )->unref();
116 drawClippedBitmap(canvas, paint, 220, y); 114 drawClippedBitmap(canvas, paint, 220, y);
117 115
118 paint.setImageFilter(SkLightingImageFilter::CreateSpotLitDiffuse(spo tLocation,
119 spo tTarget,
120 spo tExponent1,
121 cut offAngleNone,
122 whi te,
123 sur faceScale,
124 kd,
125 inp ut,
126 cr) )->unref();
127 drawClippedBitmap(canvas, paint, 330, y);
128
129 paint.setImageFilter(SkLightingImageFilter::CreateSpotLitDiffuse(spo tLocation,
130 spo tTarget,
131 spo tExponent0,
132 cut offAngleNone,
133 whi te,
134 sur faceScale,
135 kd,
136 inp ut,
137 cr) )->unref();
138 drawClippedBitmap(canvas, paint, 440, y);
139
140 y += 110; 116 y += 110;
141 117
142 paint.setImageFilter(SkLightingImageFilter::CreatePointLitSpecular(p ointLocation, 118 paint.setImageFilter(SkLightingImageFilter::CreatePointLitSpecular(p ointLocation,
143 w hite, 119 w hite,
144 s urfaceScale, 120 s urfaceScale,
145 k s, 121 k s,
146 s hininess, 122 s hininess,
147 i nput, 123 i nput,
148 c r))->unref(); 124 c r))->unref();
149 drawClippedBitmap(canvas, paint, 0, y); 125 drawClippedBitmap(canvas, paint, 0, y);
150 126
151 paint.setImageFilter(SkLightingImageFilter::CreateDistantLitSpecular (distantDirection, 127 paint.setImageFilter(SkLightingImageFilter::CreateDistantLitSpecular (distantDirection,
152 white, 128 white,
153 surfaceScale, 129 surfaceScale,
154 ks, 130 ks,
155 shininess, 131 shininess,
156 input, 132 input,
157 cr))->unref(); 133 cr))->unref();
158 drawClippedBitmap(canvas, paint, 110, y); 134 drawClippedBitmap(canvas, paint, 110, y);
159 135
160 paint.setImageFilter(SkLightingImageFilter::CreateSpotLitSpecular(sp otLocation, 136 paint.setImageFilter(SkLightingImageFilter::CreateSpotLitSpecular(sp otLocation,
161 sp otTarget, 137 sp otTarget,
162 sp otExponent1, 138 sp otExponent,
163 cu toffAngleSmall, 139 cu toffAngle,
164 wh ite, 140 wh ite,
165 su rfaceScale, 141 su rfaceScale,
166 ks , 142 ks ,
167 sh ininess, 143 sh ininess,
168 in put, 144 in put,
169 cr ))->unref(); 145 cr ))->unref();
170 drawClippedBitmap(canvas, paint, 220, y); 146 drawClippedBitmap(canvas, paint, 220, y);
171 147
172 paint.setImageFilter(SkLightingImageFilter::CreateSpotLitSpecular(sp otLocation,
173 sp otTarget,
174 sp otExponent1,
175 cu toffAngleNone,
176 wh ite,
177 su rfaceScale,
178 ks ,
179 sh ininess,
180 in put,
181 cr ))->unref();
182 drawClippedBitmap(canvas, paint, 330, y);
183
184 paint.setImageFilter(SkLightingImageFilter::CreateSpotLitSpecular(sp otLocation,
185 sp otTarget,
186 sp otExponent0,
187 cu toffAngleNone,
188 wh ite,
189 su rfaceScale,
190 ks ,
191 sh ininess,
192 in put,
193 cr ))->unref();
194 drawClippedBitmap(canvas, paint, 440, y);
195
196 y += 110; 148 y += 110;
197 } 149 }
198 } 150 }
199 151
200 private: 152 private:
201 SkBitmap fBitmap; 153 SkBitmap fBitmap;
202 154
203 typedef GM INHERITED; 155 typedef GM INHERITED;
204 }; 156 };
205 157
206 ////////////////////////////////////////////////////////////////////////////// 158 //////////////////////////////////////////////////////////////////////////////
207 159
208 DEF_GM(return new ImageLightingGM;) 160 DEF_GM(return new ImageLightingGM;)
209 } 161 }
OLDNEW
« no previous file with comments | « no previous file | src/effects/SkLightingImageFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698